Swift 作品 — 可愛柴柴1A2B — 猜數字遊戲App
一、首先來簡單介紹App操作流程
gif圖
- 主頁面:
按下GO便可開始遊戲!
2.
進入畫面後便開始計時,
輸入四個數字後其他數字便無法點選。
3.
按下OK送出答案,在黑板上顯示玩家猜的數字與幾A幾B。
送出答案後,所有button便恢復成可點擊狀態,讓玩家繼續猜數字。
4.
點選黑板上方的柴柴,可以獲得一字提示!(因為阿柴都是很任性的,所以提示只會有一次!)
5.
答對題目後,跳出Alert讓玩家輸入自己的姓名,並儲存起來。
若玩家未輸入姓名點選儲存,會以“noName”紀錄該筆過關秒數。
6.
按下重新開始按鈕,重新一局遊戲。
7.
回到主畫面,點擊“記錄與排行”可以觀看自己的歷史破關秒數。
這部分是利用UserDefaults去儲存資料。
8.
未來希望增加線上排行功能,讓玩家可以上傳自己的成績,並且排名,讓玩家間可以相互較勁,增加遊戲趣味性。
(不過這部分我還在想要怎麼寫比較好)
二、部分程式碼解說
- 為 iOS App 加入客製字型
黑板上的粉筆字體,我是參考彼得潘的這篇文章:
2. 讓TextField不會彈跳出鍵盤
這個方法我也不知道正不正統,不過我用起來目前是沒什麼BUG,也許可能有更好的方法。
在viewDidLoad()中把 TextField.inputView = UIButton()
3.
在App一執行便在viewDidLoad()中呼叫func topic() 去產生隨機亂數題目:
4.
給每一個數字button的Tag一個數字,數字1就給1,數字2就給2依此類推~
把每一個button的Action指到同一@IBAction func
然後利用 “ sender.tag ” 去得到目前點擊到的數字
5. 實現玩家點擊button,textField有數字填入,便自動跳下一個textField
在button點擊的func中呼叫 “ func switchField ” ,把數字與目前停留的textField傳入。
在 func switchField 中去做判斷,把number的值給到guessTextField.text,如果 guessTextField.text 不等於空,便呼叫下一個guessTextField: ” guessTextField2.becomeFirstResponder() “
5. 限制textfield只能輸入一個數字
由於填入數字的textField
三、最後附上GitHub