Programming

Day47「右に行くか、左に行くか」|Swift Playgrounds 攻略と解答例【ゼロから学習】

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

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

今回はDay47コードを学ぼう1「右に行くか、左に行くか」の攻略になります!!

なんとこれで「コードを学ぼう1」が最後になります!

みなさんお疲れ様でした!!

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

解答例と解説

解答例と解説を確認していきます!

解答例

コードの解答例は以下のようになります。

解答例を動画で確認する

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

ステージ攻略「右に行くか、左に行くか」

攻略

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

クリア条件は、宝石を8個取って、スイッチを7個切り替えることです。

もう一度解答例のコードを見ながら確認しましょう。

タイトルにあるように、右か左に曲がることがこのステージの鍵になります。

そこでnavigateAroundWallの名前で、

「右に曲がる」「左に曲がる」関数を定義しました。

「宝石のマスにいる」時と「前と左が行き止まり」の時に右を向いてほしいので、

「||」を使いました。

「||」についての確認はこちらから↓

Day32「一方でも正しければ合格」|Swift Playgrounds 攻略と解答例【ゼロから学習】 コウです、よろしくお願いします! 「ゼロからプログラミングを始める」人に役立つ情報を発信しています! 今回はDay32コー...

同じように「光っていないスイッチのマスにいる」時と、

「前と右が行き止まり」の時に左を向いてほしいので、「||」を使っています

これで必要な場所で右や左を向くことができるようになりました!

whileループと先ほど定義した関数navigateAroundWallを使ってステージ内をByteに歩かせます。

歩いている間に「宝石」もしくは「光っていないスイッチ」があったらそれを取って進むようにします。

ここで注意すべきことは宝石やスイッチのマスにたどり着いた時に「2つ分こなすようにする」ことです。

18〜21行目や24〜27行目はこれを表しています。

理由は、1つ取り終えた後にもう1つのところに行くと、navigateAroundWallが優先してしまい、Byteの向きが変わってしまうからです。

まとめ

コードを学ぼう1の最終課題はどうでしたか?

僕が考えたコードでは「宝石のマスにいる時」や「光っていないスイッチのマスにいる時」のif文が2回出てくるので、どちらが優先されるかを注意する必要がありました。

もちろん違うクリア方法もあるかと思いますが、それぞれ注意すべきことが出てくるはずなので、「コードをステップ実行」で確認していくことが大事ですね!!

次回はいよいよコードを学ぼう2になります。

少し難しくなってくるかもしれませんが、ここまでついてこれたあなたなら大丈夫。

また、ここまで勉強してきてプログラミングに興味を持った人は、
実際にプログラミング教室に通ってみるのもおすすめです。

キュレオプログラミング教室の料金は?今なら春の入会キャンペーン実施中!キュレオプログラミング教室の料金について調べました。...

今なら春の入会キャンペーン実施中です。

ロボットプログラミングに興味がある方はこちらもおすすめ。

たった1分でわかる!エジソンアカデミーの料金【プログラミング教室】エジソンアカデミーの料金について調べました。公式HPには載っていないことや、教室の概要についてまとめてご紹介。...

これからの時代を見据えて学んでいくために、
ぜひ選択肢のひとつとして考えてみてください。

それではDay48変数ユニットの「記録する」でお会いしましょう!!

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