Da es in diesem Spiel nur zwei Spieler gibt, könnte man T auch als boolesche Variable deklarieren. Diese muss man pro Zug dann nur invertieren und erspart sich so die doppelte Abfrage, ob T einen bestimmten Wert hat oder nicht. Und dann bitte auch nicht global deklarieren
Beispiel anhand von DeddyHs Vorschlag:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
Captions: Array[Boolean] of Char = ('x', 'o');
begin
T := not T; // Druecken;
(Sender as TButton).Caption := Captions[T];
end;