りょうのゲーム塾 -92ページ目

りょうのゲーム塾

再開、準備中。

$りょうちゃんのゲーム企画塾

GM05 はゲームオーバー画面を表示するタスクです。

このタスクは GM00 と同じ処理をしています。
違う点は GM00 は画面全体を表示していますが、
このタスクではすでに画面のほとんどが表示されているので、
ゲームオーバーの文字を表示するだけです。

@GM_OVER はゲームタスクをゲームオーバー表示に切り替える部分です。

@GM05 の最初の RESTORE 文でこの後に実行される READ 文で読み込むデータを
@GM05 以降に設定します。
最初に読み込まれるのは @GM05 の以降の DATA 文、要するに 0129 行目の DATA 文からとなります。

COLOR 文で文字に色を設定します。
FOR 文により Y が5から16まで変化しながら繰り返されます。
READ 文で文字列を読み込みそれを画面位置 2,Y に表示します。
表示が終わったらカラーを元の0番に戻し、
GM_CNT に6秒間のカウンタ値を代入し、
タスクを6番(GM06)に変更します。

GM06 は GM_CNT の値が0になるまで繰り返し実行します。

カウント値が0になった時次へと進みます。

BGMSTOP 命令でBGMを停止し GM_TF に0を代入し、
タスクを GM00 に変更します。
$りょうちゃんのゲーム企画塾

前回のサンプルゲームの場合、
ゲームループの中ではプレイヤや敵のタスクを
実行していました。

今回はゲームタスクがすべての親となってゲームを実行しています。
この GM04 は今までゲームループで行っていたタスクの実行を行います。

今回はプレイヤとエネミーのタスクを実行します。

各タスクを実行したら次に必要なのは
このタスク実行の終了判定です。

前回サンプルは終了しなかったのですが、
今回はステージをクリアし次のステージへ移る、
または、すべてのステージをクリアしゲームクリアへ移る、
もしくは、プレイヤ残機がなくなりゲームオーバーになる。
この3つの状態が考えられます。
それ以外はゲームステージ続行というわけですね。

このサンプルの場合は仮の実行なので、
プレイヤタスクもエネミータスクも何もしません。
そこでテストがてらにキーの入力を判断し、
もしキーが押されていなければステージ続行、
キーが押されていれば終了判定に進みます。

もしAボタンが押されていればゲームオーバーの処理へ
Bボタンが押されていればゲームクリアの処理へ移るようにしています。
どちらでもない場合にはステージクリアしたものとし、
つぎのステージへと進みます。

ここでは次のステージへ進む場合の説明を行います。

次のステージへ行く場合に
EMYNUM を+1しています。
これは前回にも説明しましたがステージが1から5まであり、
そのステージ毎に1から5までのステージに分かれています。
その値が EMYNUM に入っているのでこれを更新します。
更新した後でこの値が6以下の時(要するに1から5の間)は
次のステージを実行するために @STG_LOOP へジャンプします。
このラベルはステージループの意味です。

EMYNUM が5を超えるとステージ番号を更新します。
その前に EMYNUM はすでに6になっていますから1に戻します。
その後で STGNUM を+1して更新します。
子の時 STGNUM が4を超える(要するに5以上になる)時、
全ステージをクリアしたことになるのでゲームクリアへ進みます。
そうでない場合には次のステージを実行します。


そんな。。。ばかなぁ~( ゚-゚)( ゚ロ゚)(( ロ゚)゚((( ロ)~゚ ゚

部屋を広くしたら、置ける数が増えるんやろか?

やばい。。。ブロック足りんのにぃ~(ノ◇≦。)

神は。。。俺の最後の望みも叶えてくれんのかぁ~(/_;)/~~