その後、ループ。
@LOOP ’ループ
FOR I=0 TO LEN(X)-1
LOCATE X[I],Y[I]:?" " ’今の位置を消す
R=RND(4) ’どっちに動くか
IF R==0 && X[I]<48 THEN INC X[I]
IF R==1 && X[I]>1 THEN DEC X[I]
IF R==2 && Y[I]<28 THEN INC Y[I]
IF R==3 && Y[I]>1 THEN DEC Y[I]
LOCATE X[I],Y[I]:?"●" ’新しい位置に表示
NEXT
VSYNC 10
GOTO @LOOP
それだと移動は難しいですね・・・出来なくはないですけど。動かさないものはそれで良いとして動かすものは配列で座標を持たせる。仮に5個だとして、まず初期設定。
DIM X[5],Y[5] ’配列を使う宣言
FOR I=0 TO LEN(X)-1 ’初期値を代入
X[I]=RND(48)+1:Y[I]=RND(28)+1
NEXT
ダメージを受けたときに、
D =10
DT=MAINCNT MOD 42
としておいて、メインループで
IF D>0 && (MAINCNT MOD 42)==DT THEN D=D-1:HP=HP-1
とかすればいいんじゃないでしょうか。
0.7秒=42フレームで、ダメージを受けてすぐに1ダメージ受け、その後は42フレームごとに1ダメージを受け、全部で10ダメージ受けたら終了。