コウです、よろしくお願いします!
「ゼロからプログラミングを始める」人に役立つ情報を発信しています!
今回はDay25コードを学ぼう1の「階段を上がる条件を探す」の解説になります。
![](https://ko-noblog.com/wp-content/uploads/2022/02/8c511eb678c91354b1e9381a61d872b7-320x180.png)
解答例と解説
解答例
コードの解答例は以下のようになります。
![](https://ko-noblog.com/wp-content/uploads/2022/05/3527ac109f8e827632d45fe91297132a-4.png)
コード自体はシンプルですね!
解説
上記のコードを実行した結果がこちらになります。
宝石のマスにいるかいないかで違う行動をしていますね!
今回のポイント
true(真)とfalse(偽)
説明文に、「true(真)」と「false(偽)」とあります
念のため読み方は、トゥルー(しん)、フォルス(ぎ)です
例えば、「 if isOnGem{ } 」とあったとします。
これは宝石のマスにいたらtrue(真)、それ以外の場合はfalse(偽)
のどちらかの値になります。
「このような値をブール値といいます」
とありますが、正直あまり覚えなくてもいいかなと思います笑
true(真)の場合には、{ }内のコマンドが実行されます。
ifとelse
今回はif文の中で、elseを使います。
else は else if とは別物
if文の中のelseとelse ifは違うものなので注意です!
else ifは、その前にあるifやelse ifで調べられなかった条件を調べるためのものです。
![](https://ko-noblog.com/wp-content/uploads/2022/05/8a5224ed07171a02a9c4a65131937e6b-1024x572.png)
コードは上の画像のように2行目でなければ6行目、
そうでもなければ10行目というように参照されます。
else
それに対して else は、if を真とした時の偽になります。
![](https://ko-noblog.com/wp-content/uploads/2022/05/429aff0cfe74b8d1ba85c62d222c3bc2.png)
例えば、上の画像の場合を考えます。
isonGemで宝石のマスにいたらtrue(真)なので、宝石を取るが実行されます。
一方、elseで宝石のマスにいない場合にはfalse(偽)なので、1マス進むが実行されます。
ステージ攻略「階段を上がる条件を探す」
攻略
それではステージを攻略していきましょう!
![](https://ko-noblog.com/wp-content/uploads/2022/05/dafa86f829073b92e143eb6d78a1edf1-4-1024x640.png)
コード欄にはあらかじめ、
条件分岐コードがループされるようにコマンドが入力されています。
for文は1…16となっているので、16回繰り返されるということですね。
次に、if の後の condition を考えます。
ステージには宝石が4つあり、
それぞれの場所で左に曲がれば次の宝石の場所に行けそうですよね。
ということは、「宝石のマスにいるかどうか」でそれぞれ条件をつければ良いです。
ですので、condition には「isonGem(宝石の上)」が入ります。
そして、ifに続くのはtrue(真)の場合のコマンドです。
宝石のマスにいたら、「宝石を取る→左を向く」を実行させます。
これで、次の宝石に向かって進んでいけます。
elseに続くのはfalse(偽)の場合のコマンドです。
宝石のマスにいない場合には、1マスずつ進んでいけば良いので元のままで大丈夫です。
まとめ
else if と else の違いには十分注意してください。
後々ごっちゃになってきちゃいます笑
- else if と else は別物
- if は true(真)、else はfalse(偽)
次回はDay26「関数をじょうずに使う」でお会いしましょう!ではまた!!
![](https://ko-noblog.com/wp-content/uploads/2022/02/8c511eb678c91354b1e9381a61d872b7-320x180.png)