commit be070a04eec56a85ddb52c11725563853049b7a9
parent 4caeae9b3f91415f54be1b2009977e17bf719e6f
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 5 Dec 2023 18:03:59 -0500
comments
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go
@@ -178,7 +178,7 @@ func (g *PokerGame) Deal(roomID string) {
// TODO: implement maximum re-rise
OUTER:
- for {
+ for { // Loop until the round is settled
for i, p := range g.Ongoing.Players {
if p == nil {
continue
@@ -193,10 +193,13 @@ func (g *PokerGame) Deal(roomID string) {
evt := PokerWaitTurnEvent{Idx: i}
PokerPubSub.Pub(roomTopic, evt)
g.Ongoing.WaitTurnEvent = evt
+
+ // Maximum time allowed for the player to send his action
waitCh := time.After(MaxUserCountdown * time.Second)
LOOP:
- for {
+ for { // Repeat until we get an event from the player we're interested in
var evt PlayerEvent
+
select {
case evt = <-g.PlayersEventCh:
case <-waitCh:
@@ -214,6 +217,7 @@ func (g *PokerGame) Deal(roomID string) {
}
break LOOP
}
+
if evt.Player != p.Username {
continue
}