HSP 耐久力のある敵
こんにちは。HSPでSTGを制作しております
そこで「耐久力のある敵」を作ったのですが
【敵と敵2のヒットが一緒になってしまうので、敵と敵2が同時に消えてしまいます】
原因は「敵と敵2」を一緒にしていることなんですが、
一緒にしないとこの先ソースが大きくなってしまうため一緒にするしかないと思ってます
この場合選択肢がいくつかあると思います
1:敵を一緒にまとめたソース(これ)で解決する
2:敵を一緒にまとめる方法を変えて改善するか
3:当たった時の処理を変えるか
1を選択しなんとかしたいのですが、何かもっとよい方法がありましたら教えてください
それではよろしくお願いします
-- ソース --
screen 0,380,450
buffer 1
// picload "自機.bmp"
gsel 0,1
buffer 3
// picload "でかい妖精2.bmp"
gsel 0
myx = 150 : myy = 350 ;自機座標
mySpd = 4 ;自機スピード
;←自機弾
TMMAX = 100
dim SHOT,100
dim SX,100 : dim SY,100
;妖精
DKMAX = 2
repeat DKMAX
DK_ene(DTK) = 0
DK_enex(DTK) = 0 : DK_eney(DTK) = 0
DTK++
loop
;****************メインループ*************************
*メイン
redraw 2 : color 20,20,20 : boxf
;****************カウンター*************************
color 255,0,0
pos 10,90 : mes "←敵カウンター " + HIT
pos 10,110 : mes "→敵カウンター " + HIT2
;****************************************************
gosub *弾移動
gosub *自機移動
gosub *妖精
gosub *敵VS弾
;自機
pos myx,myy : gmode 4,29,42,255 : gcopy 1,1,0
;妖精
DTK = 0
repeat DKMAX
if DK_ene(DTK) = 1 : pos DK_enex(DTK),DK_eney(DTK) : gmode 4,58,45,255 : gcopy 3,0,0
DTK++
loop
;自機弾
repeat TMMAX
if SHOT(cnt) = 1{
pos SX(cnt),SY(cnt) : gmode 2,9,8,255 : gcopy 1,1,43
}loop
redraw : await 15
goto *メイン
;**************自機の移動*******************************
*自機移動
stick key,15
if key & 1 : myx = myx - mySpd
if key & 2 : myy = myy - mySpd
if key & 4 : myx = myx + mySpd
if key & 8 : myy = myy + mySpd
return
;****************弾の移動******************************
*弾移動
getkey keyZ,90 ;Zキー
repeat TMMAX
if (keyZ) and SHOT(cnt) = 0 and rensya = 0 {
SHOT(cnt) = 1 : SX(cnt) = myx + 10 : SY(cnt) = myy - 10 : rensya = 500
}
if SHOT(cnt) = 1 : SY(cnt) -= 10
if SY(cnt) < 0 : SHOT(cnt) = 0
if rensya > 0 : rensya -= 1
loop
return
;****************妖精*****************************
*妖精
;敵X座高
DK_ENX(0) = 100
DK_ENX(1) = 200
;位置
DTK = 0
repeat DKMAX
if DK_ene(DTK) = 0 : DK_ene(DTK) = 1 : DK_enex(DTK) = DK_ENX(DTK) : DK_eney(DTK) = 150
DTK++
loop
return