So wie sakura es vorgeschlagen hat klappt es
Das klärt auch meine Frage wie ich ihm einen Wert übergebe wenn er einen Pointer erwartet
Vielen Dank an euch
Statt dem Key kannst du ihm auch einen State übergeben.
Delphi-Quellcode:
type
TDirections = (dirLeft, dirRight);
// ...
case Key of
70: Tasten.Push(Pointer(dirLeft)); // [F] - LINKS
74: Tasten.Push(Pointer(dirRight)); // [J] - RECHTS
end;
Ist einfacher, Bezeichner wie "dirLeft" und "dirRight" zu assoziieren, als 70, 74:
Delphi-Quellcode:
procedure TMain.Timer1Timer(Sender: TObject);
var
i: ^Integer;
begin
i := Tasten.Pop;
case TDirection(i) of
dirLeft: Spieler[0].dreheLinks;
dirRight: Spieler[0].dreheRechts;
darstellen(Sender);
end;