Constructor
new RotateBoard(idOrData)
- Description:
Erstellt eine neue Board-Instanz.
- Source:
- Implements:
Parameters:
| Name | Type | Description |
|---|---|---|
idOrData |
string | null | Die Level-ID ('0'-'3') oder null (für leeres Board/Klonen). |
Members
fallOffsets :Object.<number, number>
- Description:
Speichert visuelle Offsets für fallende Boxen.
- Source:
Speichert visuelle Offsets für fallende Boxen.
Type:
- Object.<number, number>
grid :Array.<Array.<number>>
- Description:
Das Spielfeld als 2D-Array (WAND, LEER, ZIEL, >=0 BoxID).
- Source:
Das Spielfeld als 2D-Array (WAND, LEER, ZIEL, >=0 BoxID).
Type:
- Array.<Array.<number>>
isFalling :boolean
- Description:
Flag für laufende Fall-Animationen.
- Source:
Flag für laufende Fall-Animationen.
Type:
- boolean
moves :number
- Description:
Anzahl der getätigten Züge.
- Source:
Anzahl der getätigten Züge.
Type:
- number
won :boolean
- Description:
Gibt an, ob das Ziel erreicht wurde.
- Source:
Gibt an, ob das Ziel erreicht wurde.
Type:
- boolean
Methods
canFall(id) → {boolean}
- Description:
Prüft, ob eine Box physikalisch fallen kann. Die ID der Box.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
id |
number | True, wenn der Weg nach unten frei ist. |
Returns:
- Type
- boolean
clone() → {RotateBoard}
- Description:
Erstellt eine tiefe Kopie des aktuellen Boards. Die Kopie.
- Source:
- Implements:
Returns:
- Type
- RotateBoard
getNextStates() → {Array.<{move: string, state: RotateBoard}>}
- Description:
Liefert alle möglichen Nachfolgezustände.
- Source:
- Implements:
Returns:
- Type
- Array.<{move: string, state: RotateBoard}>
getStateKey() → {string}
- Description:
Generiert einen eindeutigen Schlüssel für den Zustand (für HashMaps). String-Repräsentation des Grids.
- Source:
- Implements:
Returns:
- Type
- string
initFromId(id)
- Description:
Lädt die Leveldaten aus den Strings. WICHTIG: Die Strings enthalten Leerzeichen, die für das Layout essenziell sind.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
id |
string |
isGoal() → {boolean}
- Description:
Prüft, ob das Spiel gewonnen ist.
- Source:
- Implements:
Returns:
- Type
- boolean
moveDown(id)
- Description:
Bewegt eine Box logisch um ein Feld nach unten. Die ID der Box.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
id |
number |
relaxBoardSync()
- Description:
Lässt alle Boxen fallen, bis sie stabil liegen. Wird synchron ausgeführt (ohne Animation), z.B. für KI-Vorberechnung. Wenn das Spiel bereits gewonnen ist, werden keine Blöcke mehr bewegt.
- Source:
rotate(clockwiseopt)
- Description:
Rotiert das Spielfeld um 90 Grad.
- True für Rechtsdrehung, False für Links.
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
clockwise |
boolean |
<optional> |
true
|