コウです、よろしくお願いします!
「ゼロからプログラミングを始める」人に役立つ情報を発信しています!
今回はDay21「4つの場所に4つの宝石」の解説です。
![](https://ko-noblog.com/wp-content/uploads/2022/02/8c511eb678c91354b1e9381a61d872b7-320x180.png)
解答例と解説
まずは解答例と解説から確認していきましょう!
解答例
コードの解答例は以下のようになります。
![](https://ko-noblog.com/wp-content/uploads/2022/04/3527ac109f8e827632d45fe91297132a-4.png)
言語化した文章をコマンドとして書き換えました!
解説
上記のコードを実行した結果がこちらになります。
なかなかの長編ですが、クリアできました!!
今回のポイント
パターンを見つける
アプリ画面にもあるように一見すると難しそうに思えるステージですが、
パターンさえ見つけてしまえばforループが解決してくれます!
![](https://ko-noblog.com/wp-content/uploads/2022/04/dafa86f829073b92e143eb6d78a1edf1-8-1024x601.png)
Byteがかぶって見えづらいですが、
初期位置の前に4つの宝石が凸の形に並んでいます。
そして4つ全て取り終えたとして緑のワープに入ると、
また凸の形に宝石が並びます。
これも取ってワープに入るとその先も、さらにその先も、、
というように続いていくのがわかるでしょうか。
もうパターンを見つけることができましたね!
宝石を4つ集める
それでは、宝石4つを集めてワープに入るところまでを確認します。
初期位置から
「1マス進む→宝石を集める→1マス進む→宝石を集める→後ろを向く→1マス進む→右を向く→1マス進む→宝石を集める→後ろを向く→2マス進む→宝石を集める→1マス進む」
とすると、4つの宝石を取った後にワープに入って、また宝石の前にいるはずです。
ステージ攻略「4つの場所に4つの宝石」
攻略
それではステージを攻略していきましょう!
![](https://ko-noblog.com/wp-content/uploads/2022/04/dafa86f829073b92e143eb6d78a1edf1-9-1024x601.png)
再度初期画面を見ながら考えていきます。
「0/16」とすごい数になっていますが、驚くことはありません。
先ほどの「宝石4つを集める」を1セットとしてこれを4回繰り返せばいいからです。
そして、for文に入力する回数は4になります!
まとめ
パターンを見つけてしまえば、あとはfor文に回数を指定して入れるだけなので、
難しくないですね!
解答例を作った印象では、「moveForward() collectGem()」は多用しているので、
funcで関数として定義してもいいかもしれません!!
- パターンさえ掴めてしまえばあとはforループに入れるだけ
これでforループユニットも終了になりました!!
次からは条件分岐ユニットに入ります!
こまで勉強してきてプログラミングに興味を持った人は、
実際にプログラミング教室に通ってみるのもおすすめです。
![](https://ko-noblog.com/wp-content/uploads/2023/01/38e762b5a02aa850497d297f64e63497-320x180.png)
今なら春の入会キャンペーン実施中です。
ロボットプログラミングに興味がある方はこちらもおすすめ。
![](https://ko-noblog.com/wp-content/uploads/2023/01/d24022da2b55b51c1677c17c2fe65a3e-320x180.png)
これからの時代を見据えて学んでいくために、
ぜひ選択肢のひとつとして考えてみてください。
次回はDay22「スイッチを調べる」でお会いしましょう!ではまた!!
![](https://ko-noblog.com/wp-content/uploads/2022/02/8c511eb678c91354b1e9381a61d872b7-320x180.png)