桌球計分板

桌球規則:
在一局比賽中,先得11 分的一方為勝方; 10 比10 平手後,先多得2 分的一方為勝方。 通常在國際正式比賽,單項賽(單打、雙打)採用七局四勝制。

初階版我沒做到deuce後所改變的規則。

這版本主要有幾點:

一、點擊畫面時,可以增加分數。

二、當其中一方分數達到11分時,會自動歸0目前比分,並且在上方的贏局+1。

三、上方有個text field可以讓玩家自己取名,後面會連動當其中一方贏時,名字也會show上去。

四、七搶四的局面上,若其中一方贏得四局,就會跳出label顯示Win。

五、按Reset Button可以重置遊戲比分。

新增元件&拉 Outlet

在一開始的storyboard,因為我想要的記分板呈現方式是橫向的,所以我在開始設定時有轉向(按紅色框框)。

接下來畫面的線條會對應到各個元件&outlet。

這裡大家會發現我有兩個text field的outlet沒有標在上方。原因是因為在這個程式中,我設定可以讓玩家自由的輸入名字,因為後面贏時還要顯示玩家名稱,所以我是拉IBAction,並且特別設定只要按return就可以收起鍵盤。

為了避免使用者不知道這個框框是要幹嘛的,我有特別註解玩家1/2的名稱。
*先點選元件,然後在Placeholder上寫下你想要的註解。

為了讓鍵盤可以收起來,我在拉IBAction時,event我選擇Did End On Exit。

宣告各種變數

在一開始,我先把贏的label給隱藏起來。

function
方便我後面coding時,不用一直打重複的東西(在viewDidLoad外面打)。

Tap Gesture Recognizer

要設定點擊畫面就可以增加分數的方式很多,可以在元件上再加一個button來點擊觸發,或是加入tap gesture recognizer來點擊觸發。

先前的作業中我有用過Swipe gesture recognizer(從storyboard裡新增元件)。

在這次作業中,我是用程式碼打出tap gesture recognizer,程式碼如下:

objc func tap1Action()裡面是寫當點擊觸發時,會執行什麼程式。
*如果我將兩個紅色/藍色框框擺在viewDidLoad裡,就會出現error,func必須要擺在外面。

reset (重新開始)

以下是操作模擬器的畫面&GitHub網址。

--

--