Randomize:xsc=1080:ysc=720:screen 0,xsc,ysc,0,10,10:font "メイリオ",20,1 //画面サイズ kb = 90,88,37,38,39,40,1,2:dim k,length(kb):dim pk,length(kb) //キー px=xsc/2:py=ysc-100:pz=25:bltmax=255:ddim blt,bltmax,4:monmax=15:dim mons,monmax,10 //15体の10の情報 dim blti,bltmax,3:espd = 3.00:sitv=100 repeat color 255,200,200:boxf px-pz,py-pz,px+pz,py+pz repeat monmax if(mons(cnt,0)>0){ color 160,255,255 if(mons(cnt,6)>0){color 255,100,100:mons(cnt,7)-=mons(cnt,6):mons(cnt,6)=0 if(mons(cnt,7)<1){mons(cnt,0)=0:continue} } boxf mons(cnt,1)-mons(cnt,5),mons(cnt,2)-mons(cnt,5),mons(cnt,1)+mons(cnt,5),mons(cnt,2)+mons(cnt,5) mons(cnt,1)+=mons(cnt,3):mons(cnt,2)+=mons(cnt,4) if(mons(cnt,1)+mons(cnt,5)<1){mons(cnt,0)=0:continue} if(mons(cnt,2)+mons(cnt,5)<1){mons(cnt,0)=0:continue} if(mons(cnt,1)-mons(cnt,5)>xsc){mons(cnt,0)=0:continue} if(mons(cnt,2)-mons(cnt,5)>ysc){mons(cnt,0)=0:continue} mons(cnt,8)++ if(mons(cnt,8)\sitv==0){cp=1:onx=mons(cnt,1):ony=mons(cnt,2) rx=(px-mons(cnt,1)):ry=(py-mons(cnt,2)) rz =sqrt(rx*rx+ry*ry):if(rz!=0){rz=espd/rz} onsx=rz*rx:onsy=rz*ry gosub *mkblt} } loop repeat bltmax if(blt(cnt,0)>1){ color 255,100,100 circle blt(cnt,0)-5,blt(cnt,1)-5,blt(cnt,0)+5,blt(cnt,1)+5,1 blt(cnt,0)+=blt(cnt,2):blt(cnt,1)+=blt(cnt,3):blti(cnt,1)++ if(blti(cnt,1)>200){blt(cnt,0)=0.00:continue} if(blt(cnt,1)<1){blt(cnt,0)=0.00:continue} if(blt(cnt,0)>xsc){blt(cnt,0)=0.00:continue} if(blt(cnt,1)>ysc){blt(cnt,0)=0.00:continue} bt1=cnt: if(blti(cnt,0)==0){ repeat monmax if(mons(cnt,0)>0){ if(abs(blt(bt1,0)-mons(cnt,1))<40){ if(abs(blt(bt1,1)-mons(cnt,2))<40){ mons(cnt,6)++:blt(bt1,0)=0.00:break } } } loop } else{ if(abs(blt(bt1,0)-px)<40){ if(abs(blt(bt1,1)-py)<40){ blt(bt1,0)=0.00:break } } } } loop if(playtime\60==59){onx=-19:ony=100+rnd(100):onsx=2+rnd(3):onsy=2-rnd(5):gosub *mkmon} if(playtime\60==59){onx=xsc+19:ony=100+rnd(100):onsx=-2-rnd(3):onsy=2-rnd(5):gosub *mkmon} if(playtime\80==79){if(espd<10){espd+=0.01}} if(playtime\800==799){if(sitv>30){sitv--}} gosub *stwait if(k(2)==1){px-=5}:if(k(3)==1){py-=5} if(k(4)==1){px+=5}:if(k(5)==1){py+=5} if(pk(0)\5=0 && k(0)==1){cp=0:onx=px-11:ony=py-pz:onsx=0:onsy=-14:gosub *mkblt:onx+=22:gosub *mkblt} loop *stwait repeat length(kb):if(k(cnt)==0){pk(cnt)=0}else{pk(cnt) += 1}:getkey k(cnt),kb(cnt):loop //兼キー入力 redraw 1:await 15:redraw 0:playtime++:gosub *haikei:return *haikei color 0,0,20:boxf:return *mkblt repeat bltmax:if(blt(cnt,0)<1){blt(cnt,0)=double(onx):blt(cnt,1)=double(ony) blt(cnt,2)=double(onsx):blt(cnt,3)=double(onsy):blti(cnt,0)=cp:blti(cnt,1)=0:break}:loop:return *mkmon repeat monmax:if(mons(cnt,0)==0){mons(cnt,0)=1:mons(cnt,1)=onx:mons(cnt,2)=ony mons(cnt,3)=onsx:mons(cnt,4)=onsy:mons(cnt,5)=20:mons(cnt,6)=0:mons(cnt,7)=6 break}:loop:return