初期化
ループ部
表示 put
判定 hit
移動 move
キャラ追加 cmake
キャラ削除 ckill
各アルゴリズム
algo1:~algo4:
100 'action sample.
110 cls 3:'"M0
L1-3 E4-19 B20-35 D36-43"
120
screen 0,0,1,1:priority "TSBG" スプライトとBG画面を表示ON
130
init"kb:3" キーはバーチャルPADモード
140 dim
cx(64),cy(64),cmx(64),cmy(64),cpt(64),cvt(64),cag(64),cdt(64)
各キャラのxy座標,xy移動量,キャラパターンcpt,残り耐久度cvt,アルゴリズム種cag,データcdt
150 dim rd(10) このrdは各キャラ移動を一括して処理する時に使います(移動の項目で説明)<
br>160lc=0:ec=3:bc=19:dc=35 _cは各キャラ数のカウンタです 各キャラ開始値-1をセット
170rd(0)=lc:rd(2)=ec:rd(4)=bc:rd(6)=dc:rd(8)=43 rdの偶数には上の開始値-1を入れておきます
180mx=128:my=128初期位置 :mpt=8:mvt=8バイタリティ :md=-1左右向き :rv=0表示反転フラグ :ft=44全体アイテムの数
190 sz= min(size(0),size(1))\256:rangesz,1,4 画面サイズに応じて拡大率szを決定します
200
gload "dg1.png",1 バッファにグラフィックデータを読み込みます
210 bg_scale 4,4 BGスケールは4x4画面の構成
220 bg_view
(size(0)-256*sz)\2,0,256,256,sz 256x256を基本フィールド視覚サイズにします
230
bg_load "dm1.dat" エディタで予め作ったBGデータを読み込みます
240
bg_border 2 BGの境界は2、ここが上下移動の梯子のBGチップになります
250 'opengl on openglモードの時はこれをONにするだけです
260
bg_scene 0,0 最初のBGマップ表示位置0,0
スプライトパターン定義 dg1.pngの画像の並びにそってスプライトパターンを定義します
270 for i=0 to 7:sp_def i,(80+i*16,0),16,16:next
280 for i=0 to 12:sp_def i+8,(i*16,16),16,16:next
衝突判定割り当て
290 sp_target
0,ec+1,dc 自分キャラと敵キャラ&敵弾を設定
300 sp_target 1,ec+1,bc:sp_target 2,ec+1,bc:sp_target
3,ec+1,bc 自分弾3つと敵キャラを設定
マージン(余白)定義 実際の表示スプライトより衝突範囲は小さいのでその余白ピクセル2を設定します
310 sp_margin 0,2
320 sp_on
0,1 自分キャラのスプライトをONにしておく
330 for i=4 to 35: sp_margin i,2:next 敵キャラ、敵弾のマージン設定
340 sp_put 0,(mx,my),mpt,rv:aa=0 自分キャラのスプライトの前置き表示と使用変数割り当て
350 if dir$("acbgm1.ogg")<>"" then play
,,"acbgm1.ogg" 音楽ファイルあるなら演奏
360 '