commit 60a8471b9a7df303b7884b1690e3764ec97a09d0
parent 4f8c0d3a7cc250464de116c9d4ebe515bccb9553
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 4 Dec 2023 23:59:10 -0500
dont wait for folded players input
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go
@@ -65,6 +65,7 @@ type PokerPlayer struct {
Username string
Bet int
Cards []PlayerCard
+ Folded bool
}
type PlayerCard struct {
@@ -127,6 +128,10 @@ func (g *PokerGame) Deal(roomID string) {
waitPlayersActionFn := func() {
for i, p := range g.Ongoing.Players {
if p.Username != "" {
+ player := g.Ongoing.GetPlayer(p.Username)
+ if player.Folded {
+ continue
+ }
evt := PokerWaitTurnEvent{Idx: i}
PokerPubSub.Pub(myTopic, evt)
g.Ongoing.WaitTurnEvent = evt
@@ -146,9 +151,8 @@ func (g *PokerGame) Deal(roomID string) {
}
fmt.Println("GOT FROM", evt.Player, evt)
if evt.Fold {
- if player := g.Ongoing.GetPlayer(evt.Player); player != nil {
- PokerPubSub.Pub(myTopic, PlayerFoldEvent{Card1Idx: player.Cards[0].Idx, Card2Idx: player.Cards[1].Idx})
- }
+ player.Folded = true
+ PokerPubSub.Pub(myTopic, PlayerFoldEvent{Card1Idx: player.Cards[0].Idx, Card2Idx: player.Cards[1].Idx})
}
g.Ongoing.Players[i].Bet += evt.Bet
break