feat(deck-classic): draw 7 cards per player on game start

This commit is contained in:
2025-03-11 16:19:47 +01:00
parent 14aeb21772
commit 1597fb9b31

View File

@ -44,6 +44,14 @@ func (deck *Classic) Init(room *types.Room) {
}
utils.ShuffleSlice(&cards)
deck.CardsRemaining = cards
deck.room.PlayersMutex.Lock()
defer deck.room.PlayersMutex.Unlock()
for _, player := range deck.room.Players {
player.Mutex.Lock()
defer player.Mutex.Unlock()
deck.drawMany(player, 7)
}
}
func (deck *Classic) SetRoom(room *types.Room) {
@ -76,6 +84,12 @@ func (deck *Classic) drawCard(player *types.Player) types.Card {
return card
}
func (deck *Classic) drawMany(player *types.Player, cards int) {
for i := 0; i < cards; i++ {
deck.drawCard(player)
}
}
func (deck *Classic) getActivePlayer() int {
return utils.Mod(deck.ActivePlayer, len(deck.room.Players))
}