Programming

Day76「階段を置く」|Swift Playgrounds 攻略と解答例

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

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

今回はDay76「階段を置く」です。どうぞ!!

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

解答例

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

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

解答例を動画で確認する

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

ステージ攻略「階段を置く」

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

クリア条件

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

ステージの詳細を確認しましょう。

ホッパーの前やスイッチのあたりには段差があります。

1マス分なのでjump()を使えば越えられるんですけど、今回は使わないようです。

新しく追加された『階段の設置』を使っていきます。

階段を設置する

キャラクター・ブロック・ワープと設置してきましたが、

今回は新たに『階段』を設置します。

階段もこれまで同様定数として宣言してから使っていきます。

ですが、ショートカットが用意されているようです。

それは、『Stair型』を初期化しなくていいというものです。

つまり、

let stair = Stair( )

world.place(stair, facing: .north, atColumn: 1, Row: 1)

のようにしなくていいそうです。

ではどのように配置していくのでしょうか。

world.place(Stair( ), facing: .north, atColumn: 1, Row: 1)

これで初期化と配置を同時に行えるそうです。

1行減りました。

めちゃ便利ですね!

階段を(1,1)に北向きに設置する」となります。

僕は5箇所に階段を設置しました。

方向は

(3,1)(3,3)がsouth(南)

(3,7)がnorth(北)

(1,5)がwest(西)

(5,5)がeast(東)

です。

向きを間違えるとホッパーが進めないので注意してください!

階段を5箇所に設置すると画像のようなステージになります。

規則性のあるステージになりましたね!

Stairは英語で階段の意味です。

関数を定義

規則性があるので、関数を定義しましょう。

画像の赤いマスから考えます。

スイッチは3つずつ3方向に配置されていますが、どれも同じ方法で切り替えることができそうですね。

3マス進む→スイッチを切り替える→左を向く→1マス進む→スイッチを切り替える→後ろを向く→2マス進む→スイッチを切り替える→後ろを向く→1マス進む→左を向く→3マス進む

これで赤いマスから出発してスイッチ3つを切り替えて、

また赤いマスに戻ってくることができますね。

あとはホッパーの向きに気をつけて

関数を3回実行すればステージクリアです!

まとめ:階段を置く

どこに階段を置くかがポイントになります。

どういうルートを通したいのかをあらかじめ考えてから

必要な場所に階段を設置するといいですね!

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

ポイント
  • 階段を設置することもできる。
  • 初期化と設置は同時に行うことができる。

次回はDay77「島を渡る」でお会いしましょう!それでは!!

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