« 【講座】「教えて!おにたま!!」 | メイン | HSPTV!メルマガ 第13号 »

2006年04月08日

【講座】HSPよく使うフレーズ 第5回 ゲームっぽいキー入力2

前回の続きで、弾を出してみよう!というワケ。

さて、前回のスクリプトが参考になったかな?
一応、弾をだしたらもっとゲームっぽいカモ、ということで、
やってみたよ。

screen 0,200,400
color 0,0,0:boxf
color 0,255,0
mx=5:my=18
*top
;キー入力
getkey key_left,37 ;<-
getkey key_right,39 ;->
getkey key_space,32 ;space
;座標変化
if key_left:mx-=1
if key_right:mx+=1
;座標チェック
if mx<0:mx=mxx
if mx>11:mx=mxx
mxx=mx:myy=my
;弾移動
if tf {
ty-=1
if ty<0:tf=0
}
;弾
if key_space and tf=0 :gosub *tamamake
;画面再描画
color 0,0,0:boxf
color 0,255,0
pos mx*16,my*16
mes "▲"
if tf:pos tx*16,ty*16:mes "|"
wait 2
goto *top
*tamamake
tf=1:tx=mx:ty=my-1:return

[HSP3用 tama_move.hsp]

ポイントは変数tfというフラグを使っている事。
弾が存在する場合、フラグが1になって弾の移動の処理の時に使うよ。

それから、弾を作る処理は*tamamakeというサブルーチンに分けてみた。

サブルーチンはプログラム上の効率化だけでなく、作っている人の
頭の中を整理する意味でも役にたつよ。
後で修正するときや、別のプログラムに再利用する場合にも便利。

最後に、サブルーチンにはわかりやすい名前を付けよう。

(うすあじ)

投稿者 usuaji : 2006年04月08日 14:25

口臭チェッカー市場