第6回は一般的なゲームの形に近づけたいと思います。
(初心者講座を最初から見たい場合はこちら)
現在はプログラムを実行するといきなりゲームが始まります。
そしてやられると最初の位置に戻りますが、ゲームオーバーもありません。
色々なゲームがあるので一概には言えませんが、大まかな流れとしては
↓
ゲームプレイ
↓
ゲームオーバー
↓
タイトルに戻る
というのが一般的な形になるかと思います。
この形に近づけていこうと思いますが、その前にプログラムが長くなってきたのでコメントを入れました。
(参考:プログラムをわかりやすくするための「コメント」)

適当すぎですかね?w
(自分がわかればOKです)
スコアを追加しよう
せっかくコメントも入れたので、少しゲームらしくしてみることにします。
敵を倒した時にスコアが入るようにしましょう。
やることとしては
・スコアを表示する
・敵を倒した時にスコアを増やす
という事で、私はこのようにしてみました。
60行目の追加(敵を倒した際にスコアが入る処理)
63、64行目追加(スコアの表示)

※画像は26行目からになります。
実行結果はこちら(動画です)
「LOCATE」の解説
「LOCATE」というのは文字の座標を指定する命令です。
これでスコアを左上に(固定した状態で)表示させています。
ゲームオーバーをつくろう
やられはするけど残機やゲームオーバーが無いので作成していきましょう。
ここまで見て来た人ならもうお分かりですね^^
まず、メインループ前に残機の変数を設定します。
(30、31行目)

続けて以下の内容を追加していきます
・メインループ内に「残機が-1になった際の処理」(67行目)
・メインループ内に「残機を画面右下に表示する処理」(69、70行目)

ここで新しく「BREAK」という命令が出てきました。
「BREAK」の解説
「BREAK」とはループを抜ける命令になります。
この状態だと、残機が-1になった時にメインループを抜けて、その後何もプログラムがないため「OK」と表示されて終了します。
ゲームオーバー時の処理をつくろう
先程「BREAK」でメインループを抜ける処理としました。
その場合、ENDLOOPの下に処理が移りますので、そこにゲームオーバー時の処理を追加していきます。

ここでさらに「WAIT」と「CLS」が出てきました。
「WAIT」の解説
「WAIT」は指定した長さだけ処理を止める命令です。
「GAME OVER」と表示された後にボタンを押すと次の処理に進むのですが、ゲームオーバーになった際にボタンを連打していたりすると、すぐに処理が進んでしまうので「WAIT」を入れていきなり進まないようにしています。
「CLS」の解説
「CLS」はテキストを消す命令です。
85行目の「BREAK」でゲームオーバーのループを抜けるようにしていますが、そのままだと画面に「GAME OVER」の文字が残り続けてしまうため「CLS」で削除しています。
実行結果はこちら(動画です)
第6回は以上となります。
初心者講座のトップに戻る場合はこちら
第6回終了時点のプログラムはこちら。


コメント