Swift Playgrounds

コードを学ぼう2【2つのキャラクターを置く】解答例と解説

2つのキャラクターを置く

解答例

let character = Character()
let expert = Expert()

world.place(character, facing: north, atColumn: 0, row: 0)
world.place(expert, facing: north, atColumn: 3, row: 0)

func collectAndJump() {
  for i in 1 ... 2 {
    character.collectGem()
    character.jump()
    character.jump()
  }
}

expert.toggleSwitch()
expert.turnLockUp()
collectAndJump()
character.turnRight()
collectAndJump()
character.turnLeft()
character.collectGem()
character.move(distance: 2)
character.collectGem()

解説

キャラクターがジャンプする能力を持っているなんて、知りませんでしたね。
とにかく、junp()すると、低いブロックを一段飛んで、一歩分進むことができるようです。
のぼる時だけでなく、おりる時もジャンプが必要です。
そしてこのステージをよく見ると、実は全てジャンプで行けそうですね。
1つ分の宝石を取る関数を作り、forループで2回分をまとめました。
エキスパートがスイッチを切り替えるのを忘れがちなので、気をつけましょう。
灯台下暗し(⌒▽⌒)

要点まとめ

・キャラクターは実はジャンプできる!