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

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

プログラムリストの解析の続き

720行



VPEEK命令で、アドレス(AD+A+B*32)の内容を変数Vに代入しています。

その後、変数Vの内容が145なら、変数Bに1を加えています。

730行



変数Dに1を加えて、変数Dの内容を2で割った余りが0ならPLAY文を実行。

このメロディーは何に使われているのか、PLAY”CG”と実行してみましたが、聞こえてきたのが記憶に無い音の為、よくわかりませんでした。

740行



STICK(スティック)関数が出て来ました。

STICK(ジョイスティック番号)

ジョイスティック番号(0はカーソルキー、1はポート1のジョイスティック、2はポート2のジョイスティック)に相当する入力情報を得る関数です。

入力情報は、

何も押されていない=0
上=1
右上=2
右=3
右下=4
下=5
左下=6
左=7
左上=8

ということで、0から8という事になります。

この場合だと、カーソルキーの情報が右でかつ、変数Xが29よりも小さい場合、変数Xに1を加える処理となります。

750行



740行と同じで、カーソルキーの情報が左でかつ、変数Xが1よりも大きい場合、変数Xから1を引いています。

この事から、このブロックはキー入力処理をしているところから、プレーヤーの移動処理を行っていると考えられます。

760行



PUTSPRITE命令で、スプライト面番号0のスプライトをカラーコード15の色とスプライトパターン番号(D MOD 2)のパターンで、X(A*8) Y(B*8)座標に表示しています。

770行



スプライト面番号2のスプライトをカラーコード10の色とスプライトパターン番号(デフォルト?)のパターンで、X(X*8) Y(159)座標に表示する。

また、最後にRETURN命令が出てきました。

AMIDER(アミダー) その7」の540行で「GOSUB 720」という命令があり、720行以後のRETURN命令がここよりも以前に無い為、720行から770行までが、サブルーチンとなっている事がわかります。

780行



アポストロフィーで区切りとなっています。

前にも書いたように、キー入力処理やスプライトの表示などから、このブロックでプレーヤーの移動を処理を行っているのでしょう。

790行



変数Sに100を加え、座標(17,0)に変数Sを表示しています。

AMIDER(アミダー) その6」の440行で、変数Sはスコアだということがわかっています。

800行



FOR NEXTでスプライト面番号0のスプライトをカラーコード2の色とスプライトパターン番号(デフォルト?)のパターンで、X(A*8) Y(I*8)座標に表示することを変数Iの20から24カウントで行っています。

810行



コロンでいくつかに区切られていますが、一つ一つ見ていきます。

まず、変数Tを1カウントアップして、変数Tが10ならPLAY文を実行して、変数Iのカウント1から19まで座標(1,I)に29個分の空白を表示し、その間に変数Jのカウント0から100までのウエイトを入れています。そのあと、430行に飛ぶようになっています。そうでなかったら(変数Tが10でない)、520行へ飛びます。

SPC(スペース)関数が出てきました。

SPC(数式)

となり、数式の内容分の空白を意味します。

この場合(PRINT (29))だと、「29個分の空白を表示する」ということです。

ここでも、PLAY文が出てきたので単独で鳴らしてみます。

PLAY”T120S0M5000L3204CDEFGABO5C8”

これは、ラウンドクリアのときの音です。

820行



アポストロフィーで区切られています。

このブロックでは、面クリア処理を行っています。

次項では、830行から1010行(最後まで)の解析を行う予定です。

 

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