Swift Playgrounds

コードを学ぼう2【ワープのオンとオフ】解答例と解説

ワープのオンとオフ

解答例

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回はインスタンスのプロパティを変えないといけませんね。

要点まとめ

・効果的なタイミングでプロパティを変えよう