#1 蹭個奧運的熱度(桌球計分板)
Published in
Aug 2, 2021
Swift小萌新,剛學會 IBOutlet & IBAction ,試試模仿 App Store 的桌球計分板 App
基本功能
每局 11 分制,輸流發球,發球時每 2 球輪替一次,目前的發球方下方顯示 Serve,其中一方達到 11 分時獲勝,上方獲勝的局數更新
點選數字會增加分數,
上方的小數字代表雙方獲勝的局數,下方的大數字代表目前局數的比分點選 Reset 會將比數清空,大數字和小數字都清成 0
點選 ChangeSide可更換背景
進階功能
10 比 10 平手後(deuce),發球改成每 1 球輪替一次,先多得 2 分的獲勝
點選 Rewind 會回到上一步
Rewind功能要點
每得一分都紀錄是A方或B方得分,利用陣列removeLast()進行返回的功能
@objc func clickRewind() {
//
let rec = record.last
if rec == nil {
return
}
// 是否進入延長賽
isPlayoff()
// 如果進入延長賽
if playoff {
// 還原狀態
serveState = serveState - 1
}else {
// 還原狀態
if serveCount == 0 {
serveCount = 1
serveState = serveState - 1
}else {
serveCount = serveCount - 1
}
}
// 還原分數
switch rec {
case 1:
scoreA = scoreA - 1
case 2:
scoreB = scoreB - 1
default:
break
}
record.removeLast()
//
updateGame()
}