Ich hatte es bisher so gelöst:
Delphi-Quellcode:
Case Key of
VK_LEFT : if (Richtung <> Rechts) and (Richtung <> Links) and (TasteGedrueckt = False)
then begin
Richtung := Links;
TasteGedrueckt := True;
end;
Im OnTimer Event (also da wo die neue Bewegung berechnet wird) wird dann wieder
TasteGedrueckt = False gesetzt. Das verhinderte, dass man sich nicht selber beißen kann (indem man schnell die Richtung ändert) und eben, dass das Event nicht 2mal ausgeführt wird.