no to czemu to działa dobrze? :)
procedure move_przod; //we go forward
begin
if (heading = -90) or (heading = 90) then //bez abs
begin
if heading = -90 then //safe forward
y := y - movespeed else
y := y + movespeed;
end else
begin
x := x - movespeedsin(gloppi/180);
z := z + movespeedcos(gloppi/180);
y := y + movespeedsin(headingpi/180);
end;
end;
procedure move_tyl; //we go back
begin
if (heading = -90) or (heading = 90) then //bez abs
begin
if heading = 90 then //safe backward
y := y - movespeed
else
y := y + movespeed;
end else
begin
x := x + movespeedsin(gloppi/180);
z := z - movespeedcos(gloppi/180);
y := y - movespeedsin(headingpi/180);
end;
end;
procedure move_left;
begin
X := X + movespeed*sin((glop+90)pi/180);
Z := Z - movespeedcos((glop+90)*pi/180);
end;
procedure move_right;
begin
X := X - movespeed*sin((glop+90)pi/180);
Z := Z + movespeedcos((glop+90)*pi/180);
end;