setscreen ("graphics:800;600,offscreenonly")
var x, y : real
var vx, vy : real := 0
var key : array char of boolean
x := 400
y := 300
loop
drawline (maxx div 2, maxy div 2-100, maxx div 2, maxy div 2+100, 7)
Input.KeyDown (key)
if key (KEY_UP_ARROW) then
vy += 0.2
elsif key (KEY_DOWN_ARROW) then
vy -= 0.2
end if
if key (KEY_RIGHT_ARROW) then
vx += 0.2
elsif key (KEY_LEFT_ARROW) then
vx -= 0.2
end if
if key (' ') then
vx := 0
vy := 0
end if
x += vx
y += vy
if x > maxx-5 or x < 0+5 then
vx := -vx
x += vx
end if
if y > maxy-5 or y < 0+5 then
vy := -vy
y += vy
end if
vx *= 0.99
vy *= 0.99
drawfilloval (round (x), round (y), 5, 5, blue)
View.Update
delay (10)
cls
end loop
|