プログラムリストの意味を解析
第6・7・8ブロック(790行〜820行 830行〜970行 980行〜1010行)
第6ブロックの解析
前章の620行と690行で、エイリアンが無事にロープを渡りきったか(プレイヤーとエイリアンの座標が合っているかのチェック)の判定をし、渡った時に790行に飛び、第6ブロックを実行します。

まず、790行で変数Sに100を加えてスコアを表示。

800行で、エイリアンを下まで移動させます。

変数Tに1を加えて、10になったら曲を流してロープのアミダパターンを消して次のステージへ(430行)、そうでなければ続行(520行)。
第7ブロックの解析
前章の620行と690行で、エイリアンが無事にロープを渡りきったか(プレイヤーとエイリアンの座標が合っているかのチェック)の判定をし、ミスした時に830行に飛び、第7ブロックを実行します。

ミスしたときの効果音を鳴らします。

ミスしたところで、エイリアンのパターンを交互に変えています。

このIF文でミスしたエイリアンが右か左か、どちらに向かって進んでいくかをRND関数で決めています。

先程決めた方向にエイリアンを進ませて、PUTSUPRITE 0,(0,209)で消しています。

スコアから10引いて表示します。

ミスしたカウントに1を加えて表示します。

ミスが5未満なら、再開(520行へ飛びます)。

ミスが5以上なら、ブザーのような効果音を鳴らします。

キャラクタ座標(7,9)から(7,15)にスペースを17キャラクタ分並べます(四角い枠を作ります)。

そのなかに「GAME OVER」と表示。

スコアが、ハイスコアかどうかチェックします。

枠の中に「HIGH SCORE」を表示。

枠の中に「HIT SPACE KEY!!」を表示。

スペースキーが押されているかチェックして、押されたらスプライトを消してオープニング処理(290行)へ飛びます。
押されるまでそのまま待ちます。
第8ブロックの解析

「AMIDER(アミダー) その12」の430行で変数L1が3になったら、980行の処理へ飛ぶようになっています。
つまり、第8ブロックはオールクリアの処理です。

「CONGRATULATIONS!」と表示します。

0から10000までカウントします(待ちます)。

画面をクリアして、色指定と画面サイズを戻し、ファンクションキーを表示して終わります。
何とか解析が終わりました。
ゲームプログラムを一本丸ごと解析できたおかげで、色々とMSXのゲームプログラムのしくみを知る事が出来ました。
次の解析するゲームプログラムは、雑誌「MSXFAN」の1991年2月号に掲載された、アドレスさん作「ICE MAN」です。
アドレスさんと連絡が現在も取れない状態です(2007年7月22日現在)。
ご本人、またはアドレスさんを知る方からの連絡をお待ちしております。
メールより連絡ください。
|