スポンサーリンク
スポンサーリンク
解答例
func moveAndCollect() {
while !isBlocked {
moveForward()
if isOnGem {
collectGem()
}
}
}
func turnAround() {
turnLeft()
turnLeft()
}
moveAndCollect()
turnAround()
purplePortal.isActive = false
while !isBlocked {
moveForward()
}
toggleSwitch()
turnAround()
purplePortal.isActive = true
moveAndCollect()
解説
まっすぐ行くと、勝手にワープに入り、2列目を先に処理します。
スイッチに行く前にワープをoffにしておかないといけませんね。
ここでも『ドット表記』を使います。
purplePortalインスタンスに、ドットをつけてプロパティ名をつけるんでしたね。
trueだとon、falseだとoffです。
英語で『A is B』と言えば、『そうである(合ってる) or そうではない(合ってない)』となるように、
『isActive』は『有効である or 有効でない』つまり『true or false』で表されます。
このステージをクリアするためには、最低2回はインスタンスのプロパティを変えないといけませんね。
要点まとめ
・効果的なタイミングでプロパティを変えよう
スポンサーリンク