うーん難しい。
max=100 : g=0.98
ddim bx,max : size = 5
ddim bvx,max : ddim bvy , max
wsize = 640 ,480 : dim ball , max
buffer 1 , wsize(0) , wsize(1) : boxf
screen 0 , wsize(0) , wsize(1) ,0 ,0 ,0
color 255 , 255 ,255 : onclick gosub *set
gmode 3 ,0 ,0 ,64 : ddim by , max : repeat
gcopy 1,0,0,wsize(0) ,wsize(1) : repeat max
if ball(cnt)=1{ bvy(cnt)+g :by(cnt)+bvy(cnt)
bx(cnt)+bvx(cnt) :cx=bx(cnt)-size:cy=by(cnt)
circle cx,cy-size,bx(cnt)+size,by(cnt) +size
if by(cnt)>ginfo(13)+size/2+1 :ball(cnt) = 0
}loop :mp=mousex,mousey : redraw 1: await 30
loop: *set : repeat max : if ball(cnt) = 0{
ball(cnt) =1 : bx(cnt) =double(mousex):d=0
r=atan(-mp(1)+mousey,-mp(0)+mousex):c=cnt
d=0:d+powf(abs(mp(0)-mousex),2):m=mp(1)
d+powf( abs(m-mousey),2 ) : d=sqrt(d)
bvx(c)=cos(r)*d : bvy(c)=sin(r)*d
by(c)=double(mousey):size=5
break} loop:return