dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 65228c184e7c22e0f131e81e01706d259386cbd5
parent a046617663df0a5663276eec67971bbc13d1e963
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue,  5 Dec 2023 14:33:33 -0500

cleanup

Diffstat:
Mpkg/web/handlers/poker.go | 65+++++++++++++++++++++++++++++++++--------------------------------
1 file changed, 33 insertions(+), 32 deletions(-)

diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go @@ -143,41 +143,42 @@ func (g *PokerGame) Deal(roomID string) { go func() { waitPlayersActionFn := func() { for i, p := range g.Ongoing.Players { - if p != nil { - player := g.Ongoing.GetPlayer(p.Username) - if player.Folded { + if p == nil { + continue + } + player := g.Ongoing.GetPlayer(p.Username) + if player.Folded { + continue + } + evt := PokerWaitTurnEvent{Idx: i} + PokerPubSub.Pub(myTopic, evt) + g.Ongoing.WaitTurnEvent = evt + fmt.Println("WAIT FOR ACTION", p) + waitCh := time.After(MaxUserCountdown * time.Second) + LOOP: + for { + var evt PlayerEvent + select { + case evt = <-g.PlayersEventCh: + case <-waitCh: + fmt.Println("WAIT TOO LONG, either auto check, or fold") + break LOOP + } + if evt.Player != p.Username { continue } - evt := PokerWaitTurnEvent{Idx: i} - PokerPubSub.Pub(myTopic, evt) - g.Ongoing.WaitTurnEvent = evt - fmt.Println("WAIT FOR ACTION", p) - waitCh := time.After(MaxUserCountdown * time.Second) - LOOP: - for { - var evt PlayerEvent - select { - case evt = <-g.PlayersEventCh: - case <-waitCh: - fmt.Println("WAIT TOO LONG, either auto check, or fold") - break LOOP - } - if evt.Player != p.Username { - continue - } - fmt.Println("GOT FROM", evt.Player, evt) - if evt.Fold { - player.Folded = true - PokerPubSub.Pub(myTopic, PlayerFoldEvent{Card1Idx: player.Cards[0].Idx, Card2Idx: player.Cards[1].Idx}) - } else if evt.Check { - } else if evt.Call { - } else if evt.Bet > 0 { - g.Ongoing.Players[i].Bet += evt.Bet - g.Ongoing.Players[i].Cash -= evt.Bet - PokerPubSub.Pub(myTopic, PlayerBetEvent{PlayerIdx: i, Player: p.Username, Bet: evt.Bet, TotalBet: g.Ongoing.Players[i].Bet, Cash: g.Ongoing.Players[i].Cash}) - } - break + fmt.Println("GOT FROM", evt.Player, evt) + if evt.Fold { + player.Folded = true + PokerPubSub.Pub(myTopic, PlayerFoldEvent{Card1Idx: player.Cards[0].Idx, Card2Idx: player.Cards[1].Idx}) + } else if evt.Check { + } else if evt.Call { + } else if evt.Bet > 0 { + g.Ongoing.Players[i].Bet += evt.Bet + g.Ongoing.Players[i].Cash -= evt.Bet + PokerPubSub.Pub(myTopic, PlayerBetEvent{PlayerIdx: i, Player: p.Username, Bet: evt.Bet, TotalBet: g.Ongoing.Players[i].Bet, Cash: g.Ongoing.Players[i].Cash}) } + break } }