簡單功能選擇題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圖就很可愛了~
按鈕設了圓角,看起來舒服很多~