コウです、よろしくお願いします!
「ゼロからプログラミングを始める」人に役立つ情報を発信しています!
今回はDay23「else ifを使う」の解説になります。
解答例と解説
解答例
コードの解答例は以下のようになります。
先ほど言語化したものをコードとしました。
2マス分調べるので1〜6行目までと同じものが7〜12行目に入っています。
解説
上記のコードを実行した結果がこちらになります。
コードを実行しても、たまたま宝石・スイッチの順は変わりませんでしたが、
それぞれを無駄なく処理することができました!
今回のポイント
else if
前回のステージでは、if文を使いました。
「もし〜なら・・・してね」というような指示を作るものです。
else ifはif文で指示したのとは違う場合に指示を出せるものです。
参照する優先順位は「if→else if」となります。
スイッチと宝石の位置がランダムに切り替わる
今回はステージ上のスイッチと宝石の位置がランダムに切り替わります。
何回か動かしてみました↓
はじめは宝石が2つでしたが、
Byte側から順に「スイッチ・宝石」に変わり、さらに「宝石・スイッチ」になりました。
最後は変わりませんでしたね。
前回のように、このランダムに対応しながらクリアする必要があります。
ifで宝石(スイッチ)を、else ifでスイッチ(宝石)を調べるとイイですね!!
ステージ攻略「else ifを使う」
攻略
ステージを攻略していきましょう!
「宝石0/2」ですが、これは「宝石0/1,スイッチ0/1」にもなるし、「スイッチ0/2」にもなります。
前回同様あまり気にせず、何が来てもイイようにコードを書いていきます。
具体的には
「1マス進む→宝石かスイッチを調べる→1マス進む→宝石かスイッチを調べる」
となります。
なお、宝石かスイッチを調べるには
「宝石を取る」や「スイッチを切り替える」も含まれます。
まとめ
else ifを使って、ifの場合でない時の指示を出す練習をしました。
今回のように、1度にいくつも調べなければならない時に有効になります!
- else ifを使えば、ifで指示した以外の場合に対応することができる
次回はDay24「条件分岐コードをループする」でお会いしましょう!ではまた!!