Last updated 5 years ago
Was this helpful?
這個關卡會自動以亂數決定開關的數量 (numberOfSwitches),然後我們要寫程式讓圖中的角色收集「同樣數量」的寶石。
numberOfSwitches
參考影片
func walkAlongLeft(handle:()->Void) { if !isBlockedLeft { // 如果左邊沒擋住,就向左轉走一步,然後做該做的事 turnLeft() moveForward() handle() } else if !isBlocked { // 不然如果前面沒擋住,就向前走一步,然後做該做的事 moveForward() handle() } else { // 不然就向左轉 turnRight() } }
Checking for Equal Values
// 變數初始設定 let switchCounter = numberOfSwitches var gems = 0 // 如果寶石比開關數少就繼續走 while gems < switchCounter { walkAlongLeft { if isOnGem { collectGem() gems += 1 } } }
// ⭐️ 貼著右邊走的策略, // 將來可以寫入 Actor 的 extension 中。 func walkAlongRight(handle:()->Void) { // 如果右邊沒擋住,就向右轉、走一步,然後做該做的事 if !isBlockedRight { turnRight() moveForward() handle() } // 不然如果前面沒擋住,就向前走一步,然後做該做的事 else if !isBlocked { moveForward() handle() } // 不然就向左轉 else { turnLeft() } }