コウです、よろしくお願いします!
「ゼロからプログラミングを始める」人に役立つ情報を発信しています。
今回はDay55「決まった数だけ集める」です。どうぞ!!
解答例
まずは解答例を確認しましょう。
解答例
コードの解答例は次のようになります。
解答例を動画で確認する
上記のコードを実行した結果がこちらになります。
ステージ攻略「決まった数だけ集める」
それではステージを攻略していきましょう!
今回のクリア条件は、『ランダムに決まる数の分だけ宝石を集める』ことです。
入力欄には、はじめからコードが入っています。
let totalGems = randomNumberOfGems
定数を宣言していますが、初期値は「randomNumberOfGems」です。
いくつ集めなくちゃいけないのかは、
コードを実行してから出ないとわかりません。
変数を宣言する
まずは変数を宣言します。
var gemCounter = 0
宝石の数は定数として宣言したんじゃないの?
定数として宣言したのは『集める宝石の合計の数』です。
今変数として宣言したのは『集めた宝石の数』を数えるためのものです。
この違いに注意してください。
初めは一つも宝石を集めていないので、初期値は0です。
whileループの条件
whileループで1マスずつ調べていきます。
gemCounter < totalGems
そのための条件は、
『集めた宝石の数が集める宝石の合計の数より少ない時』
です。
集めた宝石の数は、初期値が0で集めるごとに数字が増えていきます。
対して集める宝石の合計の数は、
説明文にもあるように1〜12の中からランダムに選ばれます。
0からスタートしたgemCounterの値が、
totalGemsの値に追いついたらループ終了です。
whileループの中身
ステージを見ると、右に曲がったり左に曲がったりする必要がありそうです。
ループの中には以下の項目を入れてあげましょう。
- 1マスずつ調べる
- 宝石のマスにいる時には、宝石を取って宝石の数にプラス1する
- 前と左が行き止まりの時には、右を向く
- 前と右が行き止まりの時には、左を向く
これらをif文と組み合わせればOKです!!
まとめ:決まった数だけ集める
ここまでの変数ユニットをしっかり学習してきていれば
そんなに難しくはなかったのではないでしょうか。
今回のポイントを振り返りましょう。
- 「定数」と「変数」の違いに注意する
これで変数ユニットは終了です!
次回からは型ユニットになります。
こまで勉強してきてプログラミングに興味を持った人は、
実際にプログラミング教室に通ってみるのもおすすめです。
今なら春の入会キャンペーン実施中です。
ロボットプログラミングに興味がある方はこちらもおすすめ。
これからの時代を見据えて学んでいくために、
ぜひ選択肢のひとつとして考えてみてください。
それではDay56「ワープをオフにする」でお会いしましょう!