Extends
Members
currentPlayer :number
- Description:
Aktueller Spieler. 1 = Spieler 1 (Blau/Kreis), 2 = Spieler 2 (Rot/Kreuz).
- Source:
- Overrides:
Aktueller Spieler. 1 = Spieler 1 (Blau/Kreis), 2 = Spieler 2 (Rot/Kreuz).
Type:
- number
grid :Array.<number>
- Description:
Das 3x3 Gitter als flaches Array (Indizes 0-8). 0 = Leer, 1 = Spieler 1, 2 = Spieler 2.
- Source:
Das 3x3 Gitter als flaches Array (Indizes 0-8). 0 = Leer, 1 = Spieler 1, 2 = Spieler 2.
Type:
- Array.<number>
winner :number
- Description:
Gewinner des Spiels. 0 = Laufend, 1 = Spieler 1, 2 = Spieler 2, 3 = Remis.
- Source:
- Overrides:
Gewinner des Spiels. 0 = Laufend, 1 = Spieler 1, 2 = Spieler 2, 3 = Remis.
Type:
- number
Methods
checkWin()
- Description:
Überprüft alle 8 Gewinnlinien auf 3 Gleiche. Setzt this.winner entsprechend.
- Source:
clone() → {TTTRegularBoard}
- Description:
Erstellt eine tiefe Kopie des Boards (für KI-Simulationen).
- Source:
Returns:
- Type
- TTTRegularBoard
getAllValidMoves() → {Array.<number>}
- Description:
Liefert alle Indizes von leeren Feldern. Liste der möglichen Züge. ✅ WICHTIG: Prüft NICHT auf winner, weil Simulationen kaputte Klone haben können!
- Source:
Returns:
- Type
- Array.<number>
getStateKey() → {string}
- Description:
Generiert einen eindeutigen String für diesen Zustand. Hash Key.
- Source:
Returns:
- Type
- string
makeMove(index) → {boolean}
- Description:
Führt einen Zug an der Position index aus.
- Index des Feldes (0-8).
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
index |
number | True, wenn der Zug gültig war. |
Returns:
- Type
- boolean
switchPlayer()
- Description:
Wechselt den aktiven Spieler (1 -> 2 -> 1).
- Source:
- Overrides: