RegularGameController

RegularGameController

new RegularGameController()

Description:
  • Controller für 3x3 Tic-Tac-Toe

    Extends BaseGameController mit regularem 3x3 Board-Support. Verwaltet Spielstatus, Benutzer-Input und Rendering für klassisches TTT.

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:

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

Description:
  • Konvertiert Mauskoordinaten zu Board-Move-Index.

Source:
Overrides:
Parameters:
Name Type Description
mx number

Maus X-Koordinate

my number

Maus Y-Koordinate

Returns:

Move als 0-8 Index oder null wenn invalid

Type
number | 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

createGame() → {TTTRegularBoard}

Description:
  • Erzeugt ein neues Regular Board.

Source:
Overrides:
Returns:

Ein neues 3x3 Tic-Tac-Toe Board

Type
TTTRegularBoard

drawGame() → {void}

Description:
  • Zeichnet das Regular TTT Board auf Canvas.

Source:
Overrides:
Returns:
Type
void

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() → {void}

Description:
  • Setzt das Spiel zurück und konfiguriert Canvas-Größe.

Source:
Overrides:
Returns:
Type
void

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:

RegularGameController

new RegularGameController()

Description:
  • Erstellt einen neuen Regular Controller.

Source:

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:

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

Description:
  • Konvertiert Mauskoordinaten zu Board-Move-Index.

Source:
Overrides:
Parameters:
Name Type Description
mx number

Maus X-Koordinate

my number

Maus Y-Koordinate

Returns:

Move als 0-8 Index oder null wenn invalid

Type
number | 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

createGame() → {TTTRegularBoard}

Description:
  • Erzeugt ein neues Regular Board.

Source:
Overrides:
Returns:

Ein neues 3x3 Tic-Tac-Toe Board

Type
TTTRegularBoard

drawGame() → {void}

Description:
  • Zeichnet das Regular TTT Board auf Canvas.

Source:
Overrides:
Returns:
Type
void

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() → {void}

Description:
  • Setzt das Spiel zurück und konfiguriert Canvas-Größe.

Source:
Overrides:
Returns:
Type
void

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: