跳轉到

迴圈條件碼

目標:在迴圈中使用 if語句 來切換開關或收集寶石

簡介

這一關中有 12 個包含寶石、開關或傳送門的磚塊。如果磚塊上有寶石,則收集寶石。如果遇到關閉的開關,則將它打開。如果遇到傳送門,則前行即可。執行這一關時注意線框,它們會顯示可能出現的項目。

img

講解

與其編寫一長串 if語句 ,你可以將條件陳述式與迥圈相結合,在一個 for 迴圈 內部編寫你的邏輯。 另外,由於磚塊可能包含寶石、開關,或者二者皆無,這時則非常適合使用 else if 區塊 來檢查另一種條件。

  1. 在下方的 for 迥圈中,在 moveForward() 後加入一個 if 語句來檢查 isOnGemisOnClosedswitch
  2. 在你的 if 語句中加入一個 else if 區塊來檢查另一種條件。

解答

請務必嘗試解題

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

1
2
3
4
5
6
7
8
for i in 1...12 {
    moveForward()
    if isOnClosedSwitch {
        toggleSwitch()
    } else if isOnGem {
        collectGem()
    }
}

後記

做得很好!使用迥圈是一種讓程式碼可重複使用的方法。使用 if 語句也可讓程式碼更有適應性。即使迥圈的主體一次接著一次執行,但條件可以每次更改。