Witam. Piszę snake'a w pascalu (z dołączoną biblioteką allegro) i mam problem, nie wiem jak napisać zmianę kierunku, moja procedura wygląda tak:
procedure ReadInput;
begin
if al_keypressed() then
begin
key := al_readkey();
case key of
al_key_up:
direction := 0;
al_key_right:
direction := 1;
al_key_down:
direction := 2;
al_key_left:
direction := 3;
else
Exit;
end;
end;
end;
i później w procedurze update jest:
if direction = 0 then
tmpy := player[0].ycoord - 1;
if direction = 1 then
tmpx := player[0].xcoord + 1;
if direction = 2 then
tmpy := player[0].ycoord + 1;
if direction = 3 then
tmpx := player[0].xcoord - 1;
cała gra zaś ma postać:
Repeat
readInput;
update;
draw;
delay(100);
Until al_key[al_KEY_ESC];
Nie wiem jak zapisać tę pierwszą procedurę, aby odczytywała wciśnięty klawisz poprawnie :(