set display mode 800,600,32 sync on : sync rate 60 gosub menu cls rgb(255,255,255) ink rgb(175,175,175),0 box 0,0,799,400 ink 0,0 line 100,400,100,0:line 300,400,300,0:line 500,400,500,0:line 700,400,700,0 ink rgb(75,75,75),0 line 80,599,100,400:line 280,599,300,400:line 480,599,500,400:line 680,599,700,400 get image 2,0,0,799,599 cls rgb(255,255,255) ink rgb(175,175,175),0 box 0,175,130,200 ink 0,0 circle 100,200,25 : line 100,225,100,325 : line 75,400,100,325 : line 125,400,100,325 : line 75,300,100,225 ink rgb(255,255,255),0:for cc=0 to 24:circle 100,200,cc:box 86,180,114,215:box 80,186,120,214:next cc:ink 0,0 get image 1,0,175,130,470 Game: ppx=0:ppy=375:scx=0:scxx=799:pax=100:scxxx=799+799:aax=125:mouseclicked=9:xvel#=0:mx=0:my=0:xvel=0:yvel=0:cx=0:cy=0:ay=0:ax=0 Position mouse pax+30,pay+50:set text size 10 do ax=mousex() ay=mousey() cx=mousex() cy=mousey() if mouseclicked=2 paste image 2,scx,0:paste image 2,scxx,0:paste image 1,ppx,ppy scx = scx - xvel:scxx = scxx - xvel:ppx = ppx - xvel:pax = pax - xvel:aax = aax - xvel line aax,300,pax,425 yvel = yvel + 5 my = my + yvel if my >= screen height()-10 my = screen height()-10 yvel = 0 - yvel xvel = xvel * 0.80 yvel = yvel * 0.80 endif circle mx,my,10 if xvel=0 and yvel<=1 and yvel>=-1 then gosub ends else if mouseclicked=9 else paste image 2,0,0:paste image 2,799,0:paste image 1,0,375 line ax,ay,pax,425 circle cx,cy,10 if mouseclick() = 1 mx = mousex() my = mousey() xvel = mousemovex() * 2 yvel = mousemovey() * 2 mouseclicked=1 endif endif endif if mouseclick()=0 and mouseclicked=1 then mouseclicked=2 center text 400,10,"Click, Drag, and let go of the mouse to throw the ball." xvel#=xvel#+xvel center text 400,30,"Distance: "+str$(xvel#) center text 400,50,"Highscore: "+str$(hs) if scx<=-799 then scx=scxx+799 if scxx<=-799 then scxx=scx+799 if scx>=799 then scx=scxx-799 if scxx>=799 then scxx=scx-799 if mouseclicked=9 and mouseclick()=0 then mouseclicked=0 sync cls rgb(255,255,255) loop ends: if xvel#>hs then hs=xvel# center text 400,10,"Click, Drag, and let go of the mouse to throw the ball." center text 400,30,"Distance: "+str$(xvel#) center text 400,50,"Highscore: "+str$(hs) center text 400,300,"Press the spacekey to continue." suspend for key gosub game Menu: sxvel=0 syvel=0 msx=400 msy=screen height()-10 do set text size 50 ink rgb(rnd(255),rnd(255),rnd(255)),0 center text 300,25,"F" ink rgb(rnd(255),rnd(255),rnd(255)),0 center text 350,25,"L" ink rgb(rnd(255),rnd(255),rnd(255)),0 center text 400,25,"I" ink rgb(rnd(255),rnd(255),rnd(255)),0 center text 450,25,"N" ink rgb(rnd(255),rnd(255),rnd(255)),0 center text 500,25,"G" set text size 30 if mousex()>350 and mousex()<450 and mousey()>150 and mousey()<200 ink rgb(255,255,0),0 center text 400,150,"Easy" if mouseclick()=1 friction=0.80 return endif else ink rgb(0,0,255),0 center text 400,150,"Easy" endif if mousex()>320 and mousex()<480 and mousey()>300 and mousey()<350 ink rgb(255,0,255),0 center text 400,300,"Medium" if mouseclick()=1 friction=0.50 return endif else ink rgb(0,255,0),0 center text 400,300,"Medium" endif if mousex()>340 and mousex()<460 and mousey()>430 and mousey()<500 ink rgb(0,255,255),0 center text 400,450,"Hard" if mouseclick()=1 friction=0.30 return endif else ink rgb(255,0,0),0 center text 400,450,"Hard" endif ink 0,0 syvel=syvel+3 msx = msx + sxvel msy = msy + syvel if msy >= screen height()-10 msy = screen height()-10 syvel = 0 - syvel sxvel = sxvel * 0.90 syvel = syvel * 0.90 endif if msy <= 10 msy = 10 syvel = 0 - syvel endif if msx >= screen width()-10 msx = screen width()-10 sxvel = 0 - sxvel endif if msx <= 10 msx = 10 sxvel = 0 - sxvel endif if mouseclick()=1 msx=mousex() msy=mousey() sxvel=mousemovex()*2 syvel=mousemovey()*2 endif circle msx,msy,10 sync cls rgb(255,255,255) loop