Hallo Delphi-Coder,
es gibt ja genau 8 Gewinnmöglichkeiten (3 Zeilen, 3 Spalten, 2 Diagonalen).
Theoretisch könntest du also in einer Schleife die Zeilen, in einer zweiten Schleife die Spalten und letztlich die beiden Diagonalen abfragen. Das spart aber nicht wirklich den Aufwand.
Letztlich musst du es also doch "zu Fuss" lösen. Du könntest auch ein Array definieren, in dem alle Sieg - Stellungen als Koordinaten Trippel stehen:
Delphi-Quellcode:
const
gewonnen : array [1..8, 1..3] of TPoint =
(((1, 1), (1, 2), (1, 3)),
((2, 2), (2, 2), (2, 3)),
...);
Dann kannst du die Abfrage in einer Schleife erschlagen.