簡單功能選擇題App

題目出自<傳奇網路有限公司>旗下的遊戲:<幻想神域>的遊戲內容

說明:

在本次的題目中,我製作了20題題庫。

在每次的遊戲裡,會從20題裡抽取題中10題當每次遊戲題目,題目會隨機順序,每題的選項也會隨機順序。

除了隨機順序以外,我還製作了倒數計時器、兩個emoji表情、歷史紀錄。

每次有10題,在限時3分鐘內答完10題即可看結果,超過3分鐘也會直接跳到結果。

在結果中,上下的表情會依照結果分數的不同而做不同表情,並把本次的遊戲分數記錄在歷史紀錄之中。

右下的紫色鈕為『重新』或『再玩一次』,會把部分數據重置並重新排序題目、遊玩選擇題。

動畫:

以下為示範動畫,先將第一次設為30秒,以便呈現結果。

程式:

一開始,我先把需要更變得元素Outlet、Action拉到程式區。

再者,設定每一題的struct,命名為qua,每個qua裡分別有題目、選項、正確答案的String。

並設定其他需要的變數跟常數。

其中,var mul:qua?代表每次顯示中的題目qua,choices代表每次顯示的選項順序。

在每次載入時,會隨機排序出題順序,我以[0...19]陣列用shuffied()排序,開始計時。

(即直接遊戲開始)

每次按下選項時,會判斷按下的Button的Title是否等於本題答案。

正確時,下面的人臉會笑,上面的貓臉會皺眉頭,以asyncAfter的方式延後0.5秒再執行換題。

每次換題,mul會換成要換的qua,choices會換成shuffied()後的mul選項。

兩個表情會換成作答中的表情。

按下『重新』或『再玩一次』時,會重置部分數據。

遊戲中的計時程式,以每1秒執行,並在timeLabel顯示目前剩餘時間。

最後,遊戲結束(不論是做完10題還是時間到),會把計時器停下,並把選項的isEnabled設為false不給使用者按(重新跟再玩一次則會回復true)。

並在畫面顯示歷史紀錄,最多紀錄倒數四次。

心得:

原本想實際畫畫用個美術,後來覺得原本的emoji圖就很可愛了~

按鈕設了圓角,看起來舒服很多~

Github網址連結:https://github.com/KaiWenMandy/choiceQuestion

--

--