跳轉到

三顆寶石,四個開關

挑戰:收集剛好三顆寶石並打開四個開關。

簡介

在這項挑戰中,為收集到正確數量的寶石並打開正確數量的開關,你分別需 要兩個變數。在你的角色處理寶石和開關時,遞增正確的變數,讓角色在適 當的時間停止動作。

img

講解

首先為寶石數量宣告一個變數,然後在為開關數量宣告另一個變數。根據以 下的指示來為你的變數命名。 為變數命名 使用駝峰式大小寫:開頭第一個單詞使用小寫字母,然後將每個新單詞的首 個字母大寫。 使用描述性名稱:為變數命名時說明他所儲存的內容,例如 numberOfCats

收集一顆寶石或打開一個開關將相應變數遞增1。使用下列其中一個比 較運算子,在if語句或while迴圈中建立條件,告訴角色何時停止。 更多比較運算子 小於運算子 : 如果a小於b,則(a < b)傳回true。 大於運算子 : 如果a大於b,則(a > b)傳回true。 等於運算子 : 如果a等於b,則(a == b)傳回true。 不等於運算子 : 如果a不等於b,則(a != b)傳回true

解答

請務必嘗試解題

請同學務必嘗試自己解題,不要直接看答案。學習程式時最好的學習方法是自己嘗試解題,程式設計不會只有一種寫法,請通過不斷的嘗試和優化來找到屬於自己最好的解答。

var gemCounter = 0
var switchCounter = 0
while gemCounter != 3 || switchCounter != 4 {
    if gemCounter != 3 && isOnGem {
        collectGem()
        gemCounter = gemCounter + 1
    } else if switchCounter != 4 && isOnClosedSwitch {
        toggleSwitch()
        switchCounter = switchCounter + 1
    }
    if isBlocked {
        turnRight()
        if isBlocked {
            turnLeft()
            turnLeft()
        }
    }
    moveForward()
} 

後記

太棒了!! 你學會如何利用迴圈以及比較運算子的應用,繼續加油喔~~