彼得潘的100道Swift iOS App謎題

#003問答題APP 之 英單測試

講到問答題就想到之前使用過的英文學習APP,如今就自己動手來做個簡易版的英單測試功能吧!實作動畫如下示範

先在StoryBoard畫面擺放上要顯示問題與答案的Label,與控制用的Button。

並建立IBOutlet與IBAction在ViewController裡面。

接著就開始動手寫程式啦!首先就是要建立題庫部分,使用Struct來產生題庫的結構,並且在建立題庫時,使用此結構來存放資料。

設定程式執行時,會使用到的主要變數。

以及建立主要function,設定if…else判斷遊戲是否結束,在遊戲進行中要使用亂數的方式,隨意取題目出來進行問答遊戲。並且會套入選擇答案的function,進行控制有哪些答案可供選擇。而在遊戲進行中,會將再玩一次的Button隱藏起來。

在判斷遊戲結束後,告知遊戲結束與得分。同時,會將選擇答案用的Button給隱藏起來。並顯示出再玩一次的Button,可以進行重複測試。題目也會跟上一次的不同,因為題目都是使用亂數方式取出使用。

在選擇題的function裡,主要是另外建立一個存放四個答案的Array。其中有一個答案為正確答案,其餘三個答案為亂數從題庫取出。為了避免正確答案會出現重複,所以使用了repeat…while來協助判斷。最後,進行亂數排列答案在選擇的Button上顯示出來。

當從選擇題內,進行點選答案後,會由if…else來判斷選擇的答案是否正確。如果正確的話,將會進行分數計算與告知其選擇是正確的。否則,將會顯示正確答案為何。接著直接進行下一題測試。

當遊戲結束時,會出現再玩一次的Button可供使用。如果點撃了此Button後,將會重置計算用的變數資料,並清空顯示結果的Label。同時,將會再次出現選擇用的Button,並重新開始遊戲。

補充說明:在遊戲開始時,將會把備份題庫到另一個陣列,進行出題使用。這是為了確保在同一次遊戲進行中,避免重複出題時,又不會影響到原始的題庫。而在啟動遊戲時,直接帶入遊戲的function。

以上為此問答APP的設計流程教學。