Programming

Day51「7つの宝石を集める」|Swift Playgrounds 攻略と解答例

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

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

今回はDay51「7つの宝石を集める」どうぞ!!

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

解答例

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

解答例

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

解答例を動画で確認する

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

ステージ攻略「7つの宝石を集める」

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

今回は縦5マスを行ったり来たりすることになります。

というのもワイヤーフレームがあり、

宝石がランダムに出現するからです。

ワイヤーフレームについては↓こちらからどうぞ

Day26「関数をじょうずに使う」【Swift Playgrounds 攻略と解答例】 コウです、よろしくお願いします! プログラミング経験は全くない素人ですが、「ゼロからアプリ開発できるのか!?」ということで日々勉...

whileループの条件は「7つ集めるまで」

今回もwhileループを使っていきます。

whileループの詳細は↓から

Day34「条件を決めてコードをループする」|Swift Playgrounds 攻略と解答例【ゼロから学習】 コウです、よろしくお願いします! 「ゼロからプログラミングを始める」人に役立つ情報を発信しています! 今回はDay34コー...

宝石は最初5マスにランダムに置いてあります。

このうちどれかを取るとまた別の場所に出現します。

つまりステージには常にいくつかの宝石があることになります。

今回のクリア条件は『宝石を7つ集める』ことです。

7つより少なくてもダメだし、多くてもダメです。

そこで、whileループの条件は『宝石を7つ集めるまで』とします。

条件を書くときに使うのが『<』です。

算数で習いますよね。

「○<□」とあれば「○は□より小さい」となります。

これを使って次のような条件を作ります。

gemCounter < 7 

gemCounterの値が7より小さい間』という条件をつくることができました。

つまりgemCounterの値が1・2・3・4・5・6の時は動き続けます。

これをwhileループの条件にします。

『<』は『未満』を表すので、その数字を含みません。

往復しながら宝石を7つまで数える

ステージは左の画像の赤で囲われた5マスのみです。

両端は行き止まりになっているので、宝石を7つ取るまではこの中を往復します。

moveForward()

で歩き続けながら、行き止まりで

turnLeft()
turnLeft()

で後ろを向きます。

宝石を取ったら数えるのは前回と同じです。

collectGem()
gemCounter = gemCounter + 1

これで宝石を取ったら数字が増えていきます。

これらをif文も使ってwhileループに入れます。

whileループの条件は『宝石を7つ集めるまで』なので、

集め終わったら自動で止まってくれます。

まとめ:7つの宝石を集める

初めてwhileループの条件に変数を使いましたね!

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

ポイント
  • 『<』などを用いるとwhileループの条件に変数が使える

次回はDay52「3つの宝石と4つのスイッチ」でお会いしましょう!それでは!!

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