這個關卡會自動以亂數決定寶石的數量 (randomNumberOfGems
),然後我們要寫程式收集剛好這個數量的寶石。
let totalGems = randomNumberOfGems
// 變數初始化
var gems = 0
// 還沒收集夠就繼續走
while gems < totalGems {
walkAlongLeft {
if isOnGem {
collectGem()
gems += 1
}
}
}
// ⭐️ 貼著左邊走的策略,
// 將來可以寫入 Actor 的 extension 中。
func walkAlongLeft(handle:()->Void) {
if !isBlockedLeft {
turnLeft()
moveForward()
handle()
} else if !isBlocked {
moveForward()
handle()
} else {
turnRight()
}
}