Connect43DController

Connect43DController

new Connect43DController()

Description:
  • Controller für 3D Connect4 (4x4x4 Cube)

    Extends BaseGameController mit 3D Connect4-Support und Multi-Panel Rendering. Visualisiert 4 unterschiedliche Perspektiven des Spielwürfels.

Source:
Author:
  • Alexander Wolf

Extends

Members

_bridgeActive :boolean

Description:
  • Wurde CONFIG:INIT über Bridge empfangen?

Source:
Inherited From:

Wurde CONFIG:INIT über Bridge empfangen?

Type:
  • boolean

_bridgeFallbackTimer :number|null

Description:
  • Fallback-Timer ID

Source:
Inherited From:

Fallback-Timer ID

Type:
  • number | null

_resizeObserver :ResizeObserver|null

Description:
  • Observer für responsive Canvas-Anpassung

Source:
Inherited From:

Observer für responsive Canvas-Anpassung

Type:
  • ResizeObserver | null

bridge :IframeBridgeClient|null

Description:
  • Bridge-Client für iframe-Kontext

Source:
Inherited From:

Bridge-Client für iframe-Kontext

Type:

Methods

checkTurn()

Description:
  • Hauptlogik: Prüft, ob Spiel vorbei ist oder KI am Zug ist.

Source:
Inherited From:

cleanupResizeObserver()

Description:
  • Beendet die responsive Canvas-Beobachtung.

Source:
Inherited From:

(abstract) coordsToMove(mx, my) → {number|object|null}

Description:
  • Konvertiert Canvas-Koordinaten zu einem Zug (wird von Subklasse überschrieben).

Source:
Overrides:
Parameters:
Name Type Description
mx number

Mouse X in Canvas-Koordinaten

my number

Mouse Y in Canvas-Koordinaten

Returns:

Der Zug oder null

Type
number | object | null

createAIAgent(type) → {Agent|null}

Description:
  • Erstellt den KI-Agenten (wird von Subklasse überschrieben).

Source:
Overrides:
Parameters:
Name Type Description
type string

'random', 'rulebased', oder 'minimax'

Returns:
Type
Agent | null

(abstract) createGame() → {TTTRegularBoard|TTT3DBoard|UltimateBoard}

Description:
  • Erstellt das Spiel (wird von Subklasse überschrieben).

Source:
Overrides:
Returns:
Type
TTTRegularBoard | TTT3DBoard | UltimateBoard

(abstract) drawGame()

Description:
  • Zeichnet das Spiel (wird von Subklasse überschrieben).

Source:
Overrides:

getAISpeed() → {number}

Description:
  • Holt die KI-Geschwindigkeit aus dem Slider.

Source:
Inherited From:
Returns:

Verzögerung in ms

Type
number

handleCanvasClick(e)

Description:
  • Verarbeitet Klicks auf das Canvas.

Source:
Inherited From:
Parameters:
Name Type Description
e PointerEvent | MouseEvent

init()

Description:
  • Initialisiert den Controller (aufgerufen von onload).

Source:
Inherited From:

reset()

Description:
  • Setzt das Spiel zurück.

Source:
Overrides:

setupResponsiveResize(optionsopt)

Description:
  • Aktiviert responsive Canvas-Anpassung per ResizeObserver.

    Beobachtet den Parent-Container und passt Canvas automatisch an (inkl. HiDPI-Skalierung). Ruft nach dem Resize drawGame() auf.

    Wird NICHT automatisch aufgerufen — Subklassen können dies nach reset() aktivieren, sobald die Container-CSS korrekt ist.

Source:
Inherited From:
Parameters:
Name Type Attributes Description
options Object <optional>

Konfiguration für initResponsiveCanvas

Properties
Name Type Attributes Default Description
aspectRatio number <optional>

Festes Seitenverhältnis (width/height)

maxWidth number <optional>

Maximale logische Breite

maxHeight number <optional>

Maximale logische Höhe

debounceMs number <optional>
150

Debounce-Verzögerung

updateUI()

Description:
  • Aktualisiert die UI (Status-Text).

Source:
Inherited From: