Примерчик прыжка
Code
program T;
var
x,y,y1,f:integer;
k:integer;
BEGIN
x:=50;
y:=50;
y1:=0; // на сколько подпрыгнули
f:=0; // прыгаем сейчас? 0 - нет 1 - да и движемся вверх 2 - да и движемся вниз
repeat
k:=getKeyPressed;
if (k=KE_KEY2 and not f) then f:=1; // если нажата 2 и не находимся в прыжке то прыгаем (not f - то же что f=0)
if (k=KE_KEY4) then x:=x-1;
if (k=KE_KEY6) then x:=x+1;
// вариант 1
if f=1 then if (y1<30) then y1:=y1+1; else f:=2;
if f=2 then if (y1>0) then y1:=y1-1; else f:=0;
// вариант 2 - вверх пока жмём 2
// if (f=1) and (y1<30) then y1:=y1+1; else f:=2;
// if (f=2) and (y1>0) then y1:=y1-1; else f:=0;
setColor(255,255,255);
fillRect(0,0,getWidth, getHeight);
setColor(255,0,0);
fillEllipse(x, y-y1, 10,10);
DrawText(''+y1+' '+f,0,0);
repaint;
delay(50);
until false;
END.