Auf die katastrophalen Variablennamen wurde ja schon hingewiesen (ein aussagekräftiger Name macht den Code wesentlich lesbarer und Kommentare können dann meistens ganz entfallen).
In dem Spielzyklus gibt es unterschiedliche Zustände:
- Computer hat noch nicht gesetzt (0)
- Computer hat gesetzt (1)
- Spielzug zu Ende (2)
Wenn man den Timer jetzt startet
Delphi-Quellcode:
SpielzugStatus := 0;
SpielzugTimer.Interval := 2000;
SpielzugTimer.Enabled := true;
dann reagiert man im Timer-Event darauf wie folgt:
Delphi-Quellcode:
procedure TForm1.SpielzugTimerTimer( Sender : TObject );
begin
SpielzugTimer.Enabled := False;
Inc( SpielzugStatus );
case SpielzugStatus of
1 : // Computer setzt sein Fähnchen
begin
...
end;
2 : // Spielzug am Ende
begin
...
end;
end;
SpielzugTimer.Enabled := SpielzugStatus < 2;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)