跳轉到

富饒之地

挑戰:嘗試找到適合你的高效解決方案。

簡介

在這項挑戰中,關卡中平台的長度可能會有變化,單開關與保的排列保持不變。 你可以採取多種不同方案來通關-你能找到適合你的方案嗎?

img

講解

無論你選擇哪種方案,都應該努力使你的代碼更有效率。這可能包括減少重複的代碼,使用更高效的算法和數據結構,以及避免無謂的計算。

解答

請務必嘗試解題

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

func solveColumn() {
    while !isBlocked {
        if isOnClosedSwitch {
            toggleSwitch()
        } else if isOnGem {
            collectGem()
        }
        moveForward()
    }
}
solveColumn()
turnRight()
moveForward()
turnRight()
solveColumn()
turnLeft()
moveForward()
turnLeft()
solveColumn()
func solveColumn() {
    while !isBlocked {
        if isOnClosedSwitch {
            toggleSwitch()
        } else if isOnGem {
            collectGem()
        }
        moveForward()
    }
}
func solveAndRightTurn() {
    solveColumn()
    turnRight()
}
solveAndRightTurn()
moveForward()
solveAndRightTurn()
turnLeft()
moveForward()
turnLeft()
solveColumn()

後記

恭喜你完成了這一關,每個人的技能和風格都不同,因此最有效的解決方案可能因人而異。盡量適應自己的能力和風格,找到最適合你的解決方案。