Thema: Delphi Spiel mit Tasten

Einzelnen Beitrag anzeigen

mjenke

Registriert seit: 28. Mär 2003
Ort: Bonn
131 Beiträge
 
#11
  Alt 5. Jun 2003, 12:43
Das ist schon klar. Problem ist folgendes. Wenn Du das zweite mal die 5 drückst, wird der Anweisungsblock aber immer noch 8 mal durchlaufen (1-4 und 6-9)...

Aber wenn Du die gedrückten Tasten in einem Array halten willst, kannst Du auch folgendermassen vorgehen:

Code:
procedure Tform1.keyw(key: word);
var
  counter: integer;
begin
  for counter := 1 to 9 do begin
    if Keypressed[counter] := 0 then begin
      Keypressed[counter] := Key;
      break;
    end;
  end;
end;
Du benötigst dann ein Array Keypressed, das ein array[1..9] of integer ist. Die einzelnen Felder werden mit 0 initialisiert. So kannst Du immer im ersten Feld, das eine Null beinhaltet, die aktuell gedrückte Taste speichern...

Und Deine Abfrage würden dann lauten:
Code:
for i := 1 to 9 do
    if Keypressed[i] = 0 then
    begin

Matthias
Matthias Jenke
  Mit Zitat antworten Zitat