Programming

Day74「道をつなぐ」|Swift Playgrounds 攻略と解答例

コウです、よろしくお願いします!

「ゼロからプログラミングを始める」人に役立つ情報を発信しています。

今回はDay74「道をつなぐ」です。どうぞ!!

小学生から社会人までおすすめ!!プログラミング言語『Swift』について!【今始める理由と学び方】 こうといいます、よろしくお願いします! 小学校で教師をやっていた経験を活かして、 プログラミングについて悩みをお持ちの保護...

解答例

まずは解答例を確認しましょう。

コードは次のようになります。

解答例を動画で確認する

上記のコードを実行した結果がこちらになります。

ステージ攻略「道をつなぐ」

ステージを攻略していきます!

クリア条件

今回のクリア条件は、『宝石を3つ取って、スイッチを3つ切り替える』ことです。

もう一度ステージを確認しましょう。

規則性のありそうなステージですね。

しかし、宝石への道に段差があります。

真ん中の列はjump()を使えば通れますが、両端は難しそうです。

全ての高さをそろえてあげましょう!

ブロックを配置する

今回もブロックを配置します。

ステージを横から見ています。

先ほども言いましたが、真ん中の列は1マス分だけの段差になっています。

この画像の手前と奥は2マス分の段差になっています。

前回のようにブロックを置いていきましょう。

ブロックの置き方の復習は↓から。

Day73「道を作る」|Swift Playgrounds 攻略と解答例 コウです、よろしくお願いします! 「ゼロからプログラミングを始める」人に役立つ情報を発信しています。 今回からは『ステージ...

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

まずは『Block型』を定数として宣言します。

2マス分が2列1マス分が1列なので、

合計5個のブロックが必要です。

必要な数だけ宣言します。

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)

そして、

world.place(item: Item, atColumn: Int, row: Int)

を使ってブロックを配置していきます。

それぞれの座標は(2,2)(4,2)(6,2)でした。

(2,2)と(6,2)は2個(4,2)は1個配置するということですね。

ここまででコードを実行すると画像のようになります。

段差が全て無くなって平になりましたね!!

関数を定義

あとはホッパーを導いてあげるだけです。

通りたいルートはこちらです。

道が平になって規則性が見えてきましたか?

2マス進む→スイッチを切り替える→右を向く→4マス進む→宝石を取る→後ろを向く→4マス進む→右を向く

この動きを3回繰り返せばクリアすることができます!

関数を定義して、forループで3回繰り返しましょう。

まとめ:道をつなぐ

道さえできてしまえば難しいことはないですよね!

今回のポイントを振り返りましょう。

ポイント
  • ブロックを複数設置する時には、その個数分を宣言する必要がある

次回はDay75「ワープを作る」でお会いしましょう!それでは!!

小学生から社会人までおすすめ!!プログラミング言語『Swift』について!【今始める理由と学び方】 こうといいます、よろしくお願いします! 小学校で教師をやっていた経験を活かして、 プログラミングについて悩みをお持ちの保護...