#2 百萬小學堂之終極大挑戰

一個簡單的選擇題APP

想到選擇題就讓然想到百萬小學堂啦~~(選我選我選我),所以這次就選擇百萬小學堂當作主題啦!那廢話不多說,直接上Demo畫面:

這次做出來的效果主要有幾個:

  1. 得分顯示
  2. 隨機的題目(題庫50題,選10題)
  3. 隨機排列的選項
  4. 答對選項會顯示綠色
  5. 答錯選項會顯示紅色,正確答案會顯示綠色
  6. 答題完畢會出現『下一題』按鈕,按了才會進到下一題
  7. 玻璃心友善(X),支援隨時重新開始
  8. 最後成績評價

第一步、先定義好Question的Struct

第二步、把畫面建好

主架構就是一個Lable加下面的3個button,其他都是做到後面才決定要加上的附加功能。

中間最大的Lable是用來顯示結果用的。

第三步、CODING!!!

這邊是用來設定題目的程式碼,先隨機一個數當作index。這邊用了array裡面的remove會把移除掉的元素回傳出來的方式做出隨機但不會跟之前重覆的題目。選項陣列用shuffled打亂之後顯示在button上

再來把button跟action做連結,我讓所有button共用同一個action,這樣想加到100個選項都沒問題(X。

function裡面分成兩個部分,上半部是負責做答對或是答錯是要做的事,下半部是答題數在10題內顯示『下一題』按鈕,在10題的時候跑結算的function(final)

final裡面就是把不該顯示的顯示出來,把該顯示的顯示出來這樣而已。比較值得提的是在把button關掉時我用了foreach,完全照著官方給的範例改得。至於foreach有沒有其他用法或是有沒有用錯,就要再請教帥Peter了~

第四步、完成啦~~~

這個練習其實滿好玩的,寫完後還可以給同學玩,然後嘲笑同學(X。總花費時間大約4 -5小時左右,可以練習到不少東西滿不錯的。不過真正花在coding的時間大約只有一半,其他時間都在找題目跟處理背景圖😂😂😂。以下附上完整的project

--

--

小黑
彼得潘的 Swift iOS / Flutter App 開發教室

目前會把學習Swift的練習放上來,有空會也把Android Studio的東西也加進來~