Turnstate um aktiven Spieler erweitern #23

Open
opened 2026-04-16 20:39:02 +00:00 by sebastian · 0 comments
Owner

Problem: TurnState hat nur currentTurn: int. Es gibt kein Tracking welcher Spieler aktuell an der Reihe ist. TurnSystem::nextTurn() iteriert nicht durch Spieler. Ohne das kann die KI nicht wissen wann sie handeln soll.
Lösung:

struct TurnState {
    int  currentTurn   = 1;
    PlayerID activePlayer = 0;   // NEU
};

TurnSystem::nextTurn() rotiert activePlayer durch alle registrierten Spieler und emittiert TurnChangedEvent mit der neuen activePlayer-ID:

struct TurnChangedEvent {
    int      newTurn;
    PlayerID activePlayer;  // NEU
};

Acceptance Criteria:

  • TurnState::activePlayer wird korrekt gesetzt wenn nextTurn() aufgerufen wird
  • TurnChangedEvent enthält activePlayer
  • Bestehender Code der TurnChangedEvent abonniert bleibt kompatibel
Problem: TurnState hat nur currentTurn: int. Es gibt kein Tracking welcher Spieler aktuell an der Reihe ist. TurnSystem::nextTurn() iteriert nicht durch Spieler. Ohne das kann die KI nicht wissen wann sie handeln soll. Lösung: ``` struct TurnState { int currentTurn = 1; PlayerID activePlayer = 0; // NEU }; ``` TurnSystem::nextTurn() rotiert activePlayer durch alle registrierten Spieler und emittiert TurnChangedEvent mit der neuen activePlayer-ID: ``` struct TurnChangedEvent { int newTurn; PlayerID activePlayer; // NEU }; ``` Acceptance Criteria: - TurnState::activePlayer wird korrekt gesetzt wenn nextTurn() aufgerufen wird - TurnChangedEvent enthält activePlayer - Bestehender Code der TurnChangedEvent abonniert bleibt kompatibel
sebastian added this to the AI-System milestone 2026-04-16 20:39:02 +00:00
sebastian added the
enhancement
engine
labels 2026-04-16 20:39:02 +00:00
sebastian added this to the Dicewars project 2026-04-16 21:03:17 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sebastian/Dicewars-Siedler#23
No description provided.