コウです、よろしくお願いします!
「ゼロからプログラミングを始める」人に役立つ情報を発信しています。
今回はDay53「値が等しいかどうかを調べる」です。どうぞ!!
解答例
まずは解答例を確認しましょう。
解答例
コードの解答例は次のようになります。
解答例を動画で確認する
上記のコードを実行した結果がこちらになります。
let:定数を宣言する
今回のステージは手前と奥に分かれています。
手前には宝石、奥にはスイッチがあり
奥には行けないようになっていますね。
奥に行けないのでスイッチを切り替えることができません。
しかし今回はスイッチを切り替える必要はないので問題ありません。
というのも、スイッチの数は定数とするからです。
定数…?
変数は学習したけど…。
定数の宣言
定数を扱う時には変数の時と同じように宣言する必要があります。
定数を宣言する時には以下の書式を使います。
let 定数名 = 初期値
『var』ではなく『let』を使うと定数になります。
定数名は変数名と同様、好きな名前をつけることができます。
定数は変わることのない数です。
というより、変数のように後から数字を変えることができません。
初期値は後から変更できないので注意しましょう。
ステージ攻略「値が等しいかどうかを調べる」
それではステージを攻略していきましょう!
今回のクリア条件は、『宝石をスイッチの数と同じだけ取る』ことです。
スイッチの数を定数とする
入力欄には以下のコードがはじめから入っています。
let switchCounter = numberOfSwitches
『let』なので、定数を宣言する書式ですね。
『switchCounter』は定数名です。
問題は初期値。
『numberOfSwitches』という数字ではないものが入っています。
これは、『スイッチの数』を表しています。
スイッチの数はランダムに変わります。
『numberOfSwitches』になっていれば、
コードを実行を押した後のスイッチの数が
定数として宣言されるようになっています。
宝石の数を変数とする
宝石の数は集める過程で変わっていくので、変数になります。
varで変数として宣言しましょう。
whileループの条件
ループの条件は、
『宝石の数がスイッチの数より少ない』
とします。
こうすることで、
宝石の数とスイッチの数が同じになったら
ループが終わります。
ループの終わりはクリア条件を満たすことを意味します。
whileループの中身
あとは前回までと同様に
1マスずつ調べるようにコマンドを入力します。
1マスずつ進み、宝石があったら取って変数の値にプラス1です。
ステージは四角になっているので、
行き止まりに当たったら右に曲がれば歩き続けることができます。
まとめ:値が等しいかどうかを調べる
はじめて定数が登場しましたがどうでしたか?
初期値が数字でなくて戸惑った方もいたのではないでしょうか。
一応numberOfSwitchesは文字ですが、数字を表していますよね。
今回のポイントを振り返りましょう。
- 定数は宣言する必要がある
- 『let 変数名 = 初期値』で変数を宣言できる
- 定数名は好きな名前をつけることができる
- 定数の初期値は後から変更できない
- 初期値に数字以外の文字が入ることもある
次回はDay54「決まった数だけスイッチを入れる」でお会いしましょう!それでは!!