[ AMIDER(アミダー) その14 ]

※途中で戻りたい場合は、ブラウザの「戻る」機能を使ってください。

プログラムリストの意味を解析
第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日現在)。

ご本人、またはアドレスさんを知る方からの連絡をお待ちしております。

メールより連絡ください。


 

Copyright(C) 2006. ピコピコテクノロジー All Right Reserved.