new NIMGameLogic(pilesopt)
- Description:
Initialisiert ein neues NIM-Spiel.
- Source:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
piles |
Array.<number> |
<optional> |
Optional: Startkonfiguration |
Methods
_checkGameEnd()
- Description:
Hilfsfunktion: Prüft auf Spielende
Spielende ist erreicht, wenn keine Streichhölzer mehr vorhanden sind. Der aktuelle Spieler (der gerade gezogen hat) gewinnt.
- Source:
clone() → {NIMGameLogic}
- Description:
✅ ERFORDERLICH: clone()
Erstellt eine exakte Kopie für KI-Simulationen.
- Source:
Returns:
- Type
- NIMGameLogic
getAllValidMoves() → {Array.<Object>}
- Description:
✅ ERFORDERLICH: getAllValidMoves()
Im NIM gibt es gültige Züge, wenn noch Streichhölzer vorhanden sind. Ein Zug: {pile: 0-2, count: 1-n} wobei n die Größe des Haufens
- Source:
Returns:
Array von {pile, count} Objekten
- Type
- Array.<Object>
getStateKey() → {string}
- Description:
✅ ERFORDERLICH: getStateKey()
Zwei Zustände sind gleich, wenn:
- Die Haufen identisch sind
- Der aktuelle Spieler gleich ist
- Source:
Returns:
- Type
- string
makeMove(move) → {boolean}
- Description:
✅ ERFORDERLICH: makeMove(move)
Führt einen NIM-Zug aus:
- Validierung
- Piles aktualisieren
- Spielende prüfen
- Spieler wechseln
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
move |
Object | {pile: number, count: number} |
Returns:
- Type
- boolean
toString() → {string}
- Description:
OPTIONAL: Gibt einen lesbar formatierten String des Zustands zurück. Nützlich zum Debuggen.
- Source:
Returns:
- Type
- string