Используя всё, что здесь было написано,
за что вам всем спасибо, я сделал вот что:
Repeat
Repeat
act:=GetKeyPressed;
Delay(20);
Until act<>0;
act:=KeyToAction(act);
IF act=GA_RIGHT Then GoRight
ELSE IF act=GA_LEFT Then GoLeft
ELSE IF act=GA_UP Then Jump;
Until win=true;
Но теперь главный герой просто летает по уровню через все пропасти, прыгает до потолка...
Процедура прыжка:
procedure Jump;
begin
IF (py-1)>=1 Then IF bas[px,py-1]=0 Then
begin
SetColor(87,192,255);
x:=(px-1)*10;
y:=(py-1)*10;
FillRect(x,y,10,10);
py:=py-1;
y:=(py-1)*10;
DrawImage(pl,x,y);
repaint;
i:=0;
Repeat
Repeat
act:=GetKeyPressed;
Delay(20);
i:=i+1;
IF i=10 Then break;
Until act<>0;
act:=KeyToAction(act);
IF act=GA_RIGHT Then GoRight
ELSE IF act=GA_LEFT Then GoLeft
ELSE IF act=GA_UP Then Jump;
Until i=10;
i:=0;
Fall;
end;
end;