#define zako 50 //敵の数を50体に設定 dim zk,zako dimtype zax,vartype("double"),zako //雑魚敵のx座標、y座標の数を設定 dimtype zay,vartype("double"),zako dimtype zmx,vartype("double"),zako //雑魚敵の移動量設定 dimtype zmy,vartype("double"),zako dim ztype,zako //雑魚の種類 dim zb_attk,zako //雑魚敵の弾発射時間 #define zbullet_max,3000 //雑魚敵の弾の数 dim zbullet,zbullet_max dimtype zb_x,vartype("double"),zbullet_max //雑魚敵の弾の位置 dimtype zb_y,vartype("double"),zbullet_max dimtype zbspeed_x,vartype("double"),zbullet_max //雑魚敵の弾の弾の動くスピード dimtype zbspeed_y,vartype("double"),zbullet_max dim zb_type,zbullet_max //雑魚敵の弾の種類 gsel 0 *main redraw 0 color 0,0,0 : boxf : color 255,255,255 font "",16 repeat zbullet_max if zbullet(cnt)=1{ pos zb_x(cnt),zb_y(cnt) mes "●" } loop font "",24 repeat zako if zk(cnt)=1{ pos zax(cnt)-12.0,zay(cnt)-12.0 mes "●" //雑魚敵のいる位置に丸を表示 } loop color 255,255,255 : boxf 400,0,640,480 gosub *timetable if call=1 : gosub *ecall repeat zb_attk if zk(cnt)=1{ zin=cnt zb_attk(cnt)++ //一定の時間が経ったら弾を発射するようにする if zb_attk(cnt)=15 : gosub *ebullet } loop repeat bullet_max b_x(cnt) = b_x(cnt)+bspeed_x(cnt) //弾の移動 b_y(cnt) = b_y(cnt)+bspeed_y(cnt) if b_x(cnt)<-8 | b_y(cnt)<-8 |b_x(cnt)>648|b_y(cnt)>488 : bullet(cnt) = 0 loop gosub *emove frame++ redraw 1 await 16 goto *main *ecall//敵出現 repeat zk if zlife(cnt)<=0{;画面に敵がいなければrepeatに戻る zk(cnt)=1 ;敵の存在確認用 zlife(cnt)=2 ;敵の体力 zb_attk(cnt)=0 call=0 break ;repeat?loop間のループから、強制的に抜け出す } loop return *ebullet//敵弾発射 if zb_attkt(cnt)=1{ gosub *ebsearch if number != -1{ zbullet(number) = 1 zb_x(number) = zax(zin) //敵弾の開始位置 zb_y(number) = zax(zin) zbspeed_x(number) = 2.0 //弾の移動速度 zbspeed_y(number) = 3.0 } } return *ebsearch//敵弾捜索 repeat zbullet_max if zbullet(cnt)=0{ number = cnt zbullet(cnt)=1 break } loop return *emove//敵移動 repeat zako if zk=1{ if ztype(cnt)-3<=0 : zmx(cnt)=0.0 : zmy(cnt)=2.0//下移動 zax(cnt)=zax(cnt)+zmx(cnt) zay(cnt)=zay(cnt)+zmy(cnt) if zax(cnt)<-20|zax(cnt)>420|zay(cnt)<-20|zay(cnt)>500 : zx=0 } loop *timetable//敵出現テーブル if frame=10 : call=1 : zax(0)=200 : zay(0)=-20 : zk(0)=1 : zattkt(0)=1 return
なんら問題はないと思ったのですが、なぜかエラーが出てしまいます。
どうしても原因がわかりません。なぜでしょうか。