2ー5 応用問題1
道ではない場所に入ろうとしても入れない機能の追加
本来、迷路は道ではない場所には入れませんが、ここまで作成している迷路ゲームの機能では、道ではない部分にも入れてしまいます。なので、ここでは道ではない場所には入れない機能を追加していきます。
<機能の説明>
今回追加する機能のプログラムの流れをフローチャートを用いて確認します。
フローチャート内の緑の図形が今回追加するプログラムです。
条件:今アクティブセルがあるセルの背景が黄色である場合
Yesの処理:アクティブセルを左に移動する
Noの処理:なし(フローチャートでは表現していません)
今回使用している迷路は、道のセルの背景色は白色、道ではないセルの背景色は黄色となっています。つまり右に移動した先のセルの背景色が白だった場合は道に進めているので戻りませんが、移動した先のセルの背景色が黄色だった場合は道ではない場所に入ってしまっているので、進む前の道に戻る処理が行われます。
<プログラムの説明>
上記のように右・左・上・下ボタンのプログラム内に新たに書き加えて機能を追加します。
(今回は右ボタンを使って説明していきます)
① If構文を使って条件分岐処理を行います
ActiveCell.Interior.ColorIndex = 19はActiveCell(アクティブセル).Interior(背景色).ColorIndex()=19(黄色)とそれぞれ指しており、「アクティブセルのある場所の背景色が黄色だった場合」を表しています。
② Yesの処理を行います
今回は右に進んだ先が道ではない場所だったので、進む前の位置である一つ左に移動することで進む前の場所に戻ります。
以上で道ではない場所に入ろうとしても入れない機能の追加が完了です。
「左」「上」「下」の3つのプログラムにも機能を追加してみましょう。