Swift 作品 — 可愛柴柴1A2B — 猜數字遊戲App

一、首先來簡單介紹App操作流程

gif圖

  1. 主頁面:

按下GO便可開始遊戲!

2.

進入畫面後便開始計時,

輸入四個數字後其他數字便無法點選。

3.

按下OK送出答案,在黑板上顯示玩家猜的數字與幾A幾B。

送出答案後,所有button便恢復成可點擊狀態,讓玩家繼續猜數字。

4.

點選黑板上方的柴柴,可以獲得一字提示!(因為阿柴都是很任性的,所以提示只會有一次!)

5.

答對題目後,跳出Alert讓玩家輸入自己的姓名,並儲存起來。

若玩家未輸入姓名點選儲存,會以“noName”紀錄該筆過關秒數。

6.

按下重新開始按鈕,重新一局遊戲。

7.

回到主畫面,點擊“記錄與排行”可以觀看自己的歷史破關秒數。

這部分是利用UserDefaults去儲存資料。

8.

未來希望增加線上排行功能,讓玩家可以上傳自己的成績,並且排名,讓玩家間可以相互較勁,增加遊戲趣味性。

(不過這部分我還在想要怎麼寫比較好)

二、部分程式碼解說

  1. 為 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

--

--