
※途中で戻りたい場合は、ブラウザの「戻る」機能を使ってください。
プログラムリストの解析の続き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.