コウです、よろしくお願いします!
「ゼロからプログラミングを始める」人に役立つ情報を発信しています!
Day17の今回は「端まで行って戻る」の解説になります
解答例と解説
初めに解答例と解説です。
解答例
コードの解答例は以下のようになります。
繰り返しの回数は4回としました。
解説
上記のコードを実行した結果がこちらになります。
入力したコマンドを4回繰り返すことで、全てのスイッチを点灯させることができました!
今回のポイント
繰り返すパターンを見つけ出す
今回のステージでは繰り返すパターンを見つけ出し、
それをfor文として作り必要な回数分繰り返します。
では繰り返すパターンはどのようなものでしょうか?
下の画像を見ながら考えてみます。
Byteが中央にいて、そこから前後左右2マスずつ進んだところに
点灯していないスイッチがあります。
ということは、、
「スイッチを1つ押して、中央に戻ってきて点灯していないスイッチの方を向く」
これが繰り返されるパターンになります!
一気に全てを解決しようとするのではなく、
分解できるものはあるかなと探すことがfor文を作るカギになります。
ステージ攻略「端まで行って戻る」
攻略
それではステージを攻略していきましょう!
「スイッチ4/8」になっているので、
点灯していない残りの4つのスイッチを切り替えればクリアになります。
繰り返すパターンは先ほどの通り、
「スイッチを1つ押して、中央に戻ってきて点灯していないスイッチの方を向く」です。
もう少し細かく言語化すると、
「2マス進む→スイッチを切り替える→後ろを向く→2マス進む→右(左)を向く」
になります。
最後の右(左)は右でも左でもどちらでもいいということです。
このパターンで切り替えるスイッチは1つです。
スイッチは全部で4つ切り替えるので、for文に入力する回数は4ですね!
まとめ
パターンは見つけることができましたか?
スイッチ1つを切り替えることだけに注目してしまうと、パターンは見えてきません
まずは全体をさーっと見渡すといいかもしれません!
- 繰り返しのパターンを見つける
- パターンを見つけるためにまずは全体を見渡す
次回はDay18「ワープしてループして」でお会いしましょう!ではまた!!