its kind of a game i guess
works 100%
sync on
set text opaque
goto start
start:
t1=timer()
angle=90
y0=250
y1=0
x0=50
v0=30
g=10
do
cls
gosub getangle
if returnkey() then goto game
circle x0,y0,5
line 0,y0,640,y0
line 0,y1,640,y1
text 0,270,\\\"Angle: \\\"+str$(angle)
text 0,300,\\\"Time: \\\"+str$(t#)
text 0,330,\\\"X: \\\"+str$(x#)
text 0,360,\\\"Y: \\\"+str$(y#)
sync
loop
game:
c=1
g=g/2
do
cls
rem time
elapsed#=(timer()-t1)/10
t#=elapsed#/100.0
rem y
y#=y1+v0*sin(angle)*t#-g*(t#*t#)
rem x
x#=v0*cos(angle)*t#
rem vx
vx#=v0*cos(angle)
if c = 1 then vy#=v0*sin(angle)-g*t#
if c = 2 then vy#=g*t#
if (CEIL(g*t#*2) >= CEIL(v0*sin(angle))) then: c=2
if y# <= y1 then goto endgame
circle x0+x#,y0-y#,5
line 0,y0,640,y0
line 0,y1,640,y1
text 0,270,\\\"Time: \\\"+str$(t#,5)
text 0,300,\\\"X: \\\"+str$(x#,3)
text 0,330,\\\"Y: \\\"+str$(y#,3)
text 0,360,\\\"Vy: \\\"+str$(vy#,3)
text 0,390,\\\"Vx: \\\"+str$(vx#,3)
sync
loop
endgame:
do
cls
text 0,0,\\\"Time: \\\"+str$(t#,5)
text 0,30,\\\"X: \\\"+str$(x#,3)
text 0,60,\\\"Y: \\\"+str$(y#,3)
text 0,90,\\\"Angle: \\\"+str$(angle)
circle x0+x#,y0-y#,5
line 0,y0,640,y0
line 0,y1,640,y1
if spacekey() then goto clear
sync
loop
getangle:
if upkey() and angle=<89 then angle=angle+1; wait 1
if downkey() and angle>0 then angle=angle-1; wait 1
return
clear:
t#=0.0
vx#=0.0
vy#=0.0
y#=0.0
y1=0
x#=0.0
c=1
y0=250
y1=0
x0=50
v0=30
g=10
t1=0
goto start