Aber wie realisiere ich das Spielfeld?
Ich würde mir als allererstes eine Struktur überlegen, die es mir erlaubt, die Darstellung von der Datenhaltung zu trennen. Das bedeutet, daß du nicht dein StringGrid dazu mißbrauchst, herauszufinden, welcher Buchstabe in welchem Feld liegt. Zur Datenhaltung bietet sich ein zweidimensionales Array an:
Spielfeld : Array[0..8, 0..8] of Char;
Dann schreibst du dir eine Methode, die den Inhalt von Spielfeld in dein StringGrid überträgt:
Delphi-Quellcode:
Procedure TFormMain.SpielfeldAktualisieren;
Var
Spalte,Zeile : Integer;
begin
For Spalte := 0 To 8 Do
For Zeile := 0 To 8 Do
MyGrid.Cells[Spalte,Zeile] := Spielfeld[Spalte,Zeile];
end;
... ungetestet, da schnell hier reingetippt ...
Falls du dein StringGrid mit Titelzeilen und Zeilenindikator versehen willst, verschieben sich natürlich die entsprechenden Zell-Koordinaten. In diesem Fall würde ich das Array gleich als [1..9, 1..9] deklarieren.