« [解剖記]敵弾と自機の当り判定 | トップページ | [解剖記]全画面表示への改造 »

[解剖記]その他の画面効果

まず、倍率を表示する部分です。


;■ 倍率表示
*messageborn
dmy=my-ey.ent : if dmy<0 : dmy=-dmy
dstv=480-dmy/50
if highdst<dstv : highdst=dstv
dstlevel=level
dstcore=dstv*dstlevel
score=en.ent*100*dstcore+score
repeat imax
if iff.cnt>0 : continue
ix.cnt=ex.ent
iy.cnt=ey.ent
iv.cnt=dstv
iff.cnt=20
il.cnt=dstlevel
realscore=en.ent*100 ;・・・???
break
loop
return

倍率は、y軸座標の比較だけで行っています。そのため非常にシンプルです。自機に近いほど倍率が高いようにするための計算をし、あとはそれをスコアに加算するだけです。???の部分は何の処理をしてるのか私にもわからなくなってしまいました。realscoreという変数はここ以外には出てこないので、全く意味の無い行かもしれません^^;


続いてゲーム情報の表示をする部分です。ここにはなんのひねりもありません。画面上に倍率表示がしばらく残るような処理を行ってるだけです。まぁ特に解説する必要もないでしょう。


;■ ゲーム情報
*message
repeat imax
if iff.cnt<1 : continue
rnd icr,8 : icr=icr*32+31
rnd icg,8 : icg=icg*32+31
rnd icb,8 : icb=icb*32+31
color icr,icg,icb
font "MSゴシック",iv.cnt*2+8,1
pos ix.cnt,iy.cnt
mes "× "+iv.cnt
iy.cnt++
iff.cnt--
loop

font "MSゴシック",12,3
if highscore<score : highscore=score
color 0,255,255
pos 10,10 : mes "HIGHSCORE "+highscore

color 255,255,255
pos 10,30 : mes "SCORE "+score

color 0,255,0
pos 10,50
mes "HIGH DISTANCE "+highdst

color 255,255,0
pos 10,70
mes "LEVEL "+level

color 255,255,255
pos 10,460
mes "SHIELD "
if mf<1 : return
repeat mf
color 255,cnt*32,0
pos cnt*10+60,460
mes "■"
loop
return


続いて、ポーズの処理です。Escが押されたらこのルーチンへ飛び、再度押されるまでメインルーチンには戻らないようにしてあります。


;■ ポーズ処理
*pausegame
redraw 2
font "MSゴシック",40,3
rnd icr,8 : icr=icr*32+31
rnd icg,8 : icg=icg*32+31
rnd icb,8 : icb=icb*32+31
color icr,icg,icb
pos 250,200 : mes "PAUSE"
stick pat : if pat&128>0 : return
getkey returntop,121
 if returntop=1 : end ; 強制終了(F10)
await 30
redraw 1
goto *pausegame

例えば、ポーズ中も星は流れるようにする、といった処理を加えようと思ったら、もう一つメインルーチンを作るくらいのつもりでやらないとダメです。まぁサンプルではそこまで難しいことはやるつもりもなかったので、文字の色を変化させるだけに留めてあります。

一点だけ、メインルーチンにもある強制終了の処理で すが、ウィンドウモードで起動させてる限り特に必要はないのですが、全画面表示にしたり、DirectX対応にした場合などは必ず必要です。特に DirectX対応にした場合はCtrl+Alt+Delも効かなくなるので、無限ループになる部分には必ず入れるようにしましょう。

« [解剖記]敵弾と自機の当り判定 | トップページ | [解剖記]全画面表示への改造 »

2.解剖記」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/67538/57445613

この記事へのトラックバック一覧です: [解剖記]その他の画面効果:

« [解剖記]敵弾と自機の当り判定 | トップページ | [解剖記]全画面表示への改造 »