players hands and deck is modify on PlayerHavePassEvent & CardIsPlayedEvent events

This commit is contained in:
2025-03-05 01:48:19 +01:00
parent 4b6eaaf58c
commit 32472018d4
3 changed files with 52 additions and 13 deletions

View File

@@ -37,6 +37,7 @@ private fun GameId.buildStateFromEvents(events: List<GameEvent>): GameState =
lastPlayer = event.player,
direction = direction,
lastColor = color,
deck = state.deck.putOneCardFromHand(event.player, event.card),
)
}
@@ -57,6 +58,7 @@ private fun GameId.buildStateFromEvents(events: List<GameEvent>): GameState =
is PlayerHavePassEvent -> {
state.copy(
lastPlayer = event.player,
deck = state.deck.takeOneCardTo(event.player),
)
}
@@ -69,7 +71,7 @@ private fun GameId.buildStateFromEvents(events: List<GameEvent>): GameState =
is GameStartedEvent -> {
state.copy(
lastColor = (event.deck.discard.first() as? Card.ColorCard)?.color,
lastCard = eventDemo.app.GameState.LastCard(event.deck.discard.first(), event.firstPlayer),
lastCard = GameState.LastCard(event.deck.discard.first(), event.firstPlayer),
lastPlayer = event.firstPlayer,
deck = event.deck,
isStarted = true,