Hmm ich hatte mal folgende Idee dazu
Betrachte die Zeilen, Spalten und Diagonalen jeweils als Strings
Zeile1, Zeile2, ..Zeile6, Spalte1, ... Spalte7
DiagonaleLURO1 (von liks unten nach rechts oben) bis DiagonameLURO6 sowie DiagonaleLORU1 bis DiagonaleLORU6
Beim Setzen eines Steins füge ich in die entsprechenden Strings an der richtigen Stelle entweder ein A oder ein B ein.
Das Setzen der Steine ist etwas aufwändig.
Dann braucht man aber nur prüfen, ob in einer der oben genannten 25 Strings die Zeichenkette "AAAA" oder "BBBB" vorkommt. - Fertig
Das sind nur 25 String-Prüfungen und sollte daher recht schnell sein.
Noch mal zu den Strings:
Die Zeilen- und Spalten-String sind wohl klar:
Zeile1: enthält a1,b1,c1,d1,...g1
ZeileN analog an, bn,cn,dn....gn
Spalte1 enthält: a1,a2,a3,a4,a5,a6
Spalte7 enthält: g1,g2...g6
Die Diagonalen
DiagonaleLURO1 enthält a3,b4,c5,d6
DiagonaleLURO2 enthält a2,b3,c4,d5,e6
DiagonaleLURO3 enthält a1,b2,c3,d4,e5,f6
DiagonaleLURO4 enthält b1,c2,d3,e4,f5,g6
DiagonaleLURO5 enthält c1,de,e3,f4,g5
DiagonaleLURO6 enthält d1,e2,f3,g4
DiagonaleLORU1 enthält d6,e5,f4,g3
DiagonaleLORU2 enthält c6,d5,e4,f3,g2
DiagonaleLORU3 enthält b6,c5,d4,e3,f2,g1
DiagonaleLORU4 enthält a6,b5,c4,d3,e2,f1
DiagonaleLORU5 enthält a5,b4,c3,d2,e1
DiagonaleLORU6 enthält a4,b3,c2,d1
a b c d e f g
6 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
Betrachte die Zeilen, Spalten und Diagonalen jeweils als Strings
Zeile1, Zeile2, ..Zeile6, Spalte1, ... Spalte7
DiagonaleLURO1 (von liks unten nach rechts oben) bis DiagonameLURO6 sowie DiagonaleLORU1 bis DiagonaleLORU6
Beim Setzen eines Steins füge ich in die entsprechenden Strings an der richtigen Stelle entweder ein A oder ein B ein.
Das Setzen der Steine ist etwas aufwändig.
Dann braucht man aber nur prüfen, ob in einer der oben genannten 25 Strings die Zeichenkette "AAAA" oder "BBBB" vorkommt. - Fertig
Das sind nur 25 String-Prüfungen und sollte daher recht schnell sein.
Noch mal zu den Strings:
Die Zeilen- und Spalten-String sind wohl klar:
Zeile1: enthält a1,b1,c1,d1,...g1
ZeileN analog an, bn,cn,dn....gn
Spalte1 enthält: a1,a2,a3,a4,a5,a6
Spalte7 enthält: g1,g2...g6
Die Diagonalen
DiagonaleLURO1 enthält a3,b4,c5,d6
DiagonaleLURO2 enthält a2,b3,c4,d5,e6
DiagonaleLURO3 enthält a1,b2,c3,d4,e5,f6
DiagonaleLURO4 enthält b1,c2,d3,e4,f5,g6
DiagonaleLURO5 enthält c1,de,e3,f4,g5
DiagonaleLURO6 enthält d1,e2,f3,g4
DiagonaleLORU1 enthält d6,e5,f4,g3
DiagonaleLORU2 enthält c6,d5,e4,f3,g2
DiagonaleLORU3 enthält b6,c5,d4,e3,f2,g1
DiagonaleLORU4 enthält a6,b5,c4,d3,e2,f1
DiagonaleLORU5 enthält a5,b4,c3,d2,e1
DiagonaleLORU6 enthält a4,b3,c2,d1
a b c d e f g
6 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0