ベーマガ01こと、電子工作マガジンNo.26(2015年春号)掲載の 「止まったらOUT」について、いろいろと ご意見を頂きました。 「数字キーを使うと、ゲームオーバーの後、2とか6とかの文字が残り、その後にRUNを入れると 2 RUN とかになり、プログラムが崩れるので不便では? カーソルキー、やJKIMなどのキーの方が良いのでは?」とのご意見を 頂きました。
実は、意図的に、キャラの移動に数字キーを使っております。
上記のように、ゲームが終わって、その後に、RUNを入れると、「 2 RUN」 などとプログラムにゴミが入って、 動作しなくなる場合が良くあります。
これは、面倒な問題なのですが、誌面に掲載のリストでは、あえてそれを残しています。
こどもさんが、操作していて、プログラムが崩れた場合は、「LIST(RET)とすると、ゲームのプログラム(処理の順番をコンピュータに解る言葉で書いたものね) を見ることができるよ。ここに、要らないものがあるから、これを消せば プログラムを直すことができるよ。」 と、LISTコマンドで プログラムリストを見せてあげることができます。
小学生の高学年であれば、2 RUN や 22 RUN などの要らない行を見つけ、RUNをバックスペースやDELキーで消す こともできます。(人によりますが)
それを、通じて、
・コンピュータってプログラムと言うもので、動いていること
・コンピュータのプログラムに間違い(バグ)があると、正しく動かない
・(BASICインタプリタの場合)その間違いを、見つけることができれば、
それを直すことができる。
などのことを、伝えることができます。
また、低学年の子には、「LOAD (RET)と、押せばいいよ」と、 LOADコマンドで 、プログラムが新しく入ることを、伝えることができます。
このように、プログラムが崩れ、不具合が出ることにより、 ゲームのプログラムを意識できるようにしています。
なお、今回、ベーマガ向けのプログラムを作るにあたって、
次号以降の投稿のサンプルになることを意識して、以下のことを考慮しました。
1)シンプル に。
小学生低学年の子に、1分で操作方法(ゲームの遊び方)説明ができる。
2)プログラムがわかりやすい
プログラムのコメントが書きやすい
フローチャートも書きやすい
3)移植、改造がやりやすい
4)敷居を上げすぎない(この程度だと、僕にも作れそうと、思ってもらえる)
それ故に、
・同じようなIF文が並んでおり、冗長では?
・もっと短く書けるのでは?
などの、ご意見がでるのも、当然です。 マルチステートメントや条件分岐に論理関数を使って、プログラムを短くすることもできますが、プログラムの流れが読みにくくなるので、避けるようにしました。
いろいろと、改良できる点が多々あると思いますの、 読者の皆さんで弄っていただければと思います。