4.敵機を表示する

今回は敵機を表示します。まだ当たり判定はありません。
画像は80*40のものを使います。

下手すぎ

gmodeを2に指定することで、gcopyするときに黒い部分を背景とみなして透明にしてくれます。

敵機の表示は弾の表示とほぼ同じです。
敵の出現は一定時間ごとにランダムに出現するようにしました。

time++
if (time \ 200) = 0

これはtimeが200の倍数になる度に実行するという意味です。

rnd(n)は乱数を発生させる関数です。
関数とは値を返す命令のようなものです。
0〜(n-1)までの整数をランダムに返します

buffer 1,80,40
picload "自機.bmp"
screen 0,400,400
gmode 2

//敵の情報
dim enemy,20
dim enemy_x,20
dim enemy_y,20

*main
stick key,31
if key & 1:x--
if key & 2:y--
if key & 4:x++
if key & 8:y++

if x < 0 :x = 0
if x > 360:x = 360
if y < 0 :y = 0
if y > 360:y = 360
	
color 0,0,0
boxf 0,0,400,400
pos x,y
gcopy 1,0,0,40,40

//敵出現ルーチン
time++
if (time \ 200) = 0 {
	repeat 20
	if enemy(cnt) = 0 {
		enemy(cnt) = 1
		enemy_x(cnt) = rnd(361)
		enemy_y(cnt) = -40
		enemy_hp(cnt) = 10
		break
	}
	loop
}

//敵の処理
repeat 20
if enemy_y(cnt) > 400 : enemy(cnt) = 0
if enemy(cnt) = 1{
	enemy_y(cnt)++
	pos enemy_x(cnt),enemy_y(cnt)
	gcopy 1,40,0,40,40
}
loop

redraw 1
wait 1
redraw 0
goto *main