配列変数関係のエラーだということは調べて分かったのですが、どこが悪いのかわかりません。
一応、普通にF5で実行したときは動きます。
どなたか親切な方、教えてください。
#cmpopt optprm 0 #define xnum 10 #define ynum 10;ブロックの数 #define blkx 48 #define blky 24;ブロックの大きさ *start screen 0,blkx*xnum,blky*ynum+128 pos blkx*xnum/2-32,blky*ynum/2+40 button "始める",*main stop *main clrobj stat dim block,xnum,ynum;ブロックの状態 bltx=blkx*xnum/2:blty=blky*ynum+96 wallpos=blkx*xnum/2 xspd=4:yspd=-4 chkx=0.0:chky=0.0 repeat await 64 redraw 0 color 255,255,255:boxf bltx+xspd:blty+yspd color 255,0,0 repeat xnum xcnt=cnt repeat ynum ycnt=cnt if block(xcnt,ycnt)=0{ if bltx>xcnt*blkx & bltx<(xcnt+1)*blkx & blty>ycnt*blky & blty<(ycnt+1)*blky{ if xspd>0{ chkx=0.0+ (xcnt*blkx-(bltx-xspd))/xspd }else{ chkx=0.0 - ((bltx-xspd)-(xcnt+1)*blkx)/xspd } if yspd>0{ chky=0.0 + (ycnt*blky-(blty-yspd))/yspd }else{ chky=0.0 - ((blty-yspd)-(ycnt+1)*blky)/yspd } if chkx>chky:xspd=-xspd if chkx<=chky:yspd=-yspd block(xcnt,ycnt)=1 } boxf xcnt*blkx,ycnt*blky,(xcnt+1)*blkx,(ycnt+1)*blky } loop loop if bltx<0 | bltx>blkx*xnum:xspd=-xspd if blty<0:yspd=-yspd color 0,0,0:circle bltx-4,blty-4,bltx+4,blty+4 wallpos=mousex gradf wallpos-64,blky*ynum+124,64,4,0,$0064ff,$00ff00 gradf wallpos,blky*ynum+124,64,4,0,$00ff00,$0064ff if blty>blky*ynum+124 & bltx>wallpos-64 & bltx<wallpos+64:{ if xspd!yspd{ if bltx<wallpos-24{ if xspd>0{ yspd++ xspd-- }else{ yspd-- xspd-- } if xspd=0:xspd=-1 } if bltx>wallpos+24{ if xspd<0{ yspd++ xspd++ }else{ yspd-- xspd++ } if xspd=0:xspd=1 } } yspd=-yspd blty=blky*ynum+124 } if blty>blky*ynum+128:break redraw 1 loop redraw 1 pos blkx*xnum/2-32,blky*ynum/2+40 button "ゲームオーバー",*start stop