連載
「はじめようジブン専用パソコン」の「第44回 メッセージとリストを使って神経衰弱
を完成させよう」(2020年11月号)で神経衰弱プログラムを完成させたけど、記事の最後に「このプログラムには重大
なバグがある」と書いてあったね。みんなは見つけることはできたかな。
神経衰弱プログラムのバグ
「神経衰弱」プログラムの重大なバグとは、開いたカードをもう一度クリックすると同じ絵のカードと一緒
に取れてしまうというものだった。ということは、カードの位置を憶えていなくても取れてしまうことになる。これではゲームにならない。
カードをクリックしたときのプログラムを見てみよう。
一度目にカードをクリックしたとき、コスチュームが「カード番号」になるので、表の絵が表示され、「表になった番号」は「0」なので、「表になった番号」は「カード番号」になる。
同じカードをもう一度クリックすると、カードは表の絵のまま、「表になった番号」は「0」ではなく「カード番号」なので、「取る」が送られてしまう。これがバグの原因だ。
バグの修正(バグフィックス)をする
先ほど見つけたバグを直すにはいくつか方法がある。たとえば、「コスチューム #」と「表になった番号」が同じ、つまり、すでに表になっているなら、それ以降の処理
を止めてしまえばよい。これをプログラムにすると次のようになる。
このブロックを「このスプライトがクリックされたとき」の下に入れよう。
できたら、緑の旗
を押して動作を確認してみよう。同じカードをクリックしてもカードは取れず、2枚目に同じ絵のカードを開くと取れて、そうでなければ裏
に戻るね。
これでバグの修正、つまりバグフィックスは完了だ。
どんなに慎重
にプログラムしたつもりでもバグが残っていることがある。これを避けるには、プログラムを書く前に、いろいろな状況を想定
するだけでなく、完成したプログラムが大丈夫だと思っても、条件を変えながら何度もテストすることが大事だ。
もっと複雑
なプログラムになってくると、系統的
に分析
・設計するための手法を用いる必要がでてくることもある。ステップアップのためにチャレンジしてみて欲しい。
監修