KnightBoard

KnightBoard

Repräsentiert das Schachbrett für den Springer.

Constructor

new KnightBoard(size)

Source:
Parameters:
Name Type Description
size number | string

Die Kantenlänge des Brettes (z.B. 5 oder 8).

Members

currentPos :Object|null

Description:
  • Aktuelle Position

Source:

Aktuelle Position

Type:
  • Object | null

grid :Array.<Array.<number>>

Description:
  • Das Gitter: 0=leer, N=Zugnummer

Source:

Das Gitter: 0=leer, N=Zugnummer

Type:
  • Array.<Array.<number>>

history :Array.<{r:number, c:number}>

Description:
  • Historie der Züge

Source:

Historie der Züge

Type:
  • Array.<{r:number, c:number}>

Methods

_getMovesFrom()

Description:
  • Interne Hilfsfunktion für Züge

Source:

clone() → {KnightBoard}

Description:
  • Erstellt eine tiefe Kopie des Boards.

Source:
Returns:
Type
KnightBoard

getDegree(r, c) → {number}

Description:
  • Warnsdorf-Logik: Zählt freie Nachbarn von einer Koordinate aus.

Source:
Parameters:
Name Type Description
r number
c number
Returns:

Grad (Anzahl möglicher Weiterzüge)

Type
number

getNextStates()

Description:
  • KI-Interface: Nachfolgezustände generieren

Source:

getPossibleMoves() → {Array.<{r:number, c:number}>}

Description:
  • Liefert alle möglichen Züge von der aktuellen Position.

Source:
Returns:
Type
Array.<{r:number, c:number}>

getStateKey()

Description:
  • KI-Interface: Eindeutiger State-String

Source:

initGrid()

Description:
  • Initialisiert das leere Grid.

Source:

isGoal()

Description:
  • KI-Interface: Ist das Ziel erreicht?

Source:

isInside(r, c) → {boolean}

Description:
  • Prüft, ob Koordinaten auf dem Brett liegen.

Source:
Parameters:
Name Type Description
r number

Zeile

c number

Spalte

Returns:
Type
boolean

isUndoMove(r, c) → {boolean}

Description:
  • Prüft, ob ein Zug den vorherigen rückgängig machen würde.

Source:
Parameters:
Name Type Description
r number
c number
Returns:
Type
boolean

isValidMove(r, c) → {boolean}

Description:
  • Prüft, ob ein Zug gültig ist (innerhalb und Feld leer).

Source:
Parameters:
Name Type Description
r number
c number
Returns:
Type
boolean

move(r, c) → {boolean}

Description:
  • Führt einen Zug aus (oder setzt Startfigur).

Source:
Parameters:
Name Type Description
r number
c number
Returns:

True bei Erfolg.

Type
boolean

undo()

Description:
  • Macht den letzten Zug rückgängig.

Source: