Swift Playgrounds

コードを学ぼう2【道をつなぐ】解答例と解説

道をつなぐ

解答例

let block1 = Block()
let block2 = Block()
let block3 = Block()
let block4 = Block()
let block5 = Block()

world.place(block1, atColumn: 2, row: 2)
world.place(block2, atColumn: 2, row: 2)
world.place(block3, atColumn: 4, row: 2)
world.place(block4, atColumn: 6, row: 2)
world.place(block5, atColumn: 6, row: 2)

func crossBridge() {
  turnRight()
  move(distance: 4)
  collectGem()
  turnLeft()
  turnLeft()
  move(distance: 4)
  turnRight()
}

for i in 1 ... 3 {
  move(distance: 2)
  toggleSwitch()
  crossBridge()
}

解説

offスイッチを曲がった先に宝石があるのですが、
2ブロック分下がったところはジャンプもできないし、
全部をとにかくブロックで埋めて平面にした方が、ゴールしやすいようです。

1つのブロックにつき、1つずつ名前を割り当てていき、ブロック型を宣言します。
あとは座標を調べ、2個必要なところには全く同じ座標を代入することで
重ねて置くことができます。
画面の角度を変えて、どこに何個置けばいいのか確認しましょう。

あとは、関数とforループでゴールできますね。

要点まとめ

・初期化すれば、同じ型のインスタンスを複数使うことができる