[ ICE-MAN(アイスマン) その7 ]

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



130行目



130行は解説を見ると、
  • ステージクリア判定
  • クリアメッセージ表示
  • 効果音
  • オールクリア判定
となっています。


まずはリストを表示してみます。




まず、IF K THEN 90 ELSE PRINT〜とありますが、変数Kは金塊の数で、70行でK=0とゼロクリアして、80行でK=K-(W=3)と金塊の数をカウントしています。

また、前の120行の最後で金塊を取るとKから1を引く処理をしています。

その条件式となっている変数Kですが、条件式では真は0以外、偽は0となっていますので、変数Kの内容が0以外(金塊が残っている)なら90行へ飛び、そうでなかったらELSE以後を実行します。

ここで「ステージクリア判定」を行っています。


ELSE以後を見てみると、PRINT E$ "+(" USING" STAGE ## CLEAR @";T;"! ":PLAY"〜":FOR I=0 TO 1:I=1+PLAY(0):NEXT:T=T+1:IF T<11 THEN READ T$;GOTO 70となっていますので、順番に見ていきます。

まずPRINT文でエスケープシーケンスを使って、8,11の座標から「STAGE 面数T CLEAR !」と表示し、PLAY文を実行し、ステージクリアの音楽を鳴らします。

ここで「クリアメッセージ表示」と「効果音」の処理を行っています。


次のFOR文ですが、I=1+PLAY(0)を繰り返すことになっています。

PLAY(0)で演奏途中であれば、-1となり、変数Iは1-1で0になります。

変数IはFOR文のカウンタに使われていますので、「演奏中はこのループから出ない」=「演奏が終わるまで次の処理に進まない」ということになります。

次は、ステージ数の変数Tに1を加えて、11よりも小さければ、ステージデータを新たに読み、70行へ飛びます。


140 150行目



140 150行は解説を見ると、
  • 画面消去
  • オールクリアデモ
  • タイトルへ飛ぶ
となっています。


リストを表示してみます。






VPOKE 6915,0はスプライトをCLSで画面を消去をしています。

ここで、「画面消去」の処理を行っています。


エスケープシーケンスを使って、8,23の座標から「CONGRATULATIONS!」と表示しています。


次にFOR文で、オールクリアデモを行っています。

どんなデモかは、見ていないのでわかりませんが、変数Iを使って、スプライトを2回表示することを256回行っているのはわかります。

ここで、「オールクリアデモ」の処理を行っています。


150行に移り、クリアデモの音楽でしょうか?音楽を鳴らし、50行へ飛んでいます。

ここで「タイトルへ飛ぶ」処理を行っています。


160行目



160行は解説を見ると、
  • 氷を置く
となっています。


リストを表示してみます。




VPEEK(6208+Y*32+V)で、氷の置く場所のキャラクタは何かを調べて、空間(32)ならば、音を出してその位置(V,Y+2)に氷のキャラクタを描き、RETURAN文で戻り、空間以外のキャラクタなら何もせずにRETURN文で戻ります。


170行目



170行は解説を見ると、
  • 上移動
となっています。


リストを表示してみます。




C=C=0で変数Cの値を1と0に切り替えています。

 

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