Hallo
Ich arbeite mich derzeit in die Andorra2D Library ein und programmiere deshalb einen Clone des schon oft vergewaltigten Spiels "PONG".
Das Spiel besitzt keine KI - man kann allerdings gegen einen Freund/Feind spielen.
Gesteuert wird das ganze über die Tastatur.
Spieler 1 nutzt die Tasten "
O" und "
L",
Spieler 2 "
W" und "
S".
Dadurch entsteht beim Spielen je doch das Problem, dass sich die Spieler gegenseitig stören.
Dies passiert, wenn z.B.
Spieler 1 gerade sein Paddle nach ganz oben bewegen möchte und dazu die Taste "
O" gedrückt hält.
Spieler 2 möchte aber gleichzeitig sein Paddle nach unten bewegen und drückt also die Taste "
S".
Damit wird die Bewegung des Paddles von
Spieler 1 abgebrochen.
Wie kann ich das Problem beheben?
Das Eventhandling schaut derzeit so aus:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Engine.isRunning then
Engine.KeyDown(Sender, Key, Shift);
end;
----
procedure tMain.KeyDown(var Sender: TObject; var Key: word; var Shift: tShiftState);
begin
case Key of
ord('O'): pPlayer1.MoveUp;
ord('L'): pPlayer1.MoveDown;
ord('W'): pPlayer2.MoveUp;
ord('S'): pPlayer2.MoveDown;
end;
end;
Grüße,
Boris.