サイトを見ながら書いたものに手を加え、スタート画面なるものを超簡易的に作った
のですが、バグったのかメインの機構がおかしなことになってしまいました。
いろいろ模索したのですが原因がわからず困っています。どなたかエラーを見つけてください。
以下ソースです。
wx=800:wy=600
screen 0,wx,wy
button "START",*main
stop
mx=400:my=300
msp=4
ms=20
ex=50:ey=50
frame=0
*main
cls
repeat
title "追いかけっこ["+frame+"]"
stick key,15
if key&1 : mx=limit( mx-msp, 0, wx ) ; 左移動
if key&4 : mx=limit( mx+msp, 0, wx ) ; 右移動
if key&2 : my=limit( my-msp, 0, wy ) ; 上移動
if key&8 : my=limit( my+msp, 0, wy ) ; 下移動
dist=abs(ex-mx)+abs(ey-my)
if dist<(ms*2) : goto *gameover
ex=alien(ex,mx)
ey=alien(ey,my)
redraw 0
color 0,0,64:boxf
color 0,255,255
circle mx-ms,my-ms,mx+ms,my+ms
color 255,0,0
circle ex-ms,ey-ms,ex+ms,ey+ms
redraw 1
await 1000/60
frame++
loop
*gameover
font msgothic,120
color 255,255,255:pos 50,50
mes "つかまった!"
stop
#defcfunc alien int value, int value2
esp=2
res=limit( value2-value, -esp, esp )
return value+res
改変したのが4.5.14.15.41行目になります。