dkforest

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

commit 53181b99482ec7015bcb01eb186985fd95625c87
parent c55207f372163e71d97a563aa2007995d2360e0b
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue,  5 Dec 2023 06:13:33 -0500

cleanup

Diffstat:
Mpkg/web/handlers/poker.go | 24++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go @@ -97,7 +97,7 @@ type PokerGame struct { func (g *Ongoing) GetPlayer(player string) *PokerPlayer { for _, p := range g.Players { - if p.Username == player { + if p != nil && p.Username == player { return p } } @@ -131,7 +131,11 @@ func (g *PokerGame) Deal(roomID string) { players := make([]*PokerPlayer, NbPlayers) for idx := range g.Players { - players[idx] = &PokerPlayer{Username: g.Players[idx].Username, Cash: g.Players[idx].Cash} + var player *PokerPlayer + if g.Players[idx].Username != "" { + player = &PokerPlayer{Username: g.Players[idx].Username, Cash: g.Players[idx].Cash} + } + players[idx] = player } g.Ongoing = &Ongoing{Deck: deck, Players: players, WaitTurnEvent: PokerWaitTurnEvent{Idx: -1}} @@ -139,7 +143,7 @@ func (g *PokerGame) Deal(roomID string) { go func() { waitPlayersActionFn := func() { for i, p := range g.Ongoing.Players { - if p.Username != "" { + if p != nil { player := g.Ongoing.GetPlayer(p.Username) if player.Folded { continue @@ -178,8 +182,10 @@ func (g *PokerGame) Deal(roomID string) { } for i := range g.Ongoing.Players { - g.Ongoing.MainPot += g.Ongoing.Players[i].Bet - g.Ongoing.Players[i].Bet = 0 + if g.Ongoing.Players[i] != nil { + g.Ongoing.MainPot += g.Ongoing.Players[i].Bet + g.Ongoing.Players[i].Bet = 0 + } } evt := PokerWaitTurnEvent{Idx: -1, MainPot: g.Ongoing.MainPot} @@ -237,7 +243,7 @@ func (g *PokerGame) Deal(roomID string) { // Deal cards for j := 1; j <= 2; j++ { for i, p := range g.Ongoing.Players { - if p.Username == "" { + if p == nil { continue } d := seats[i] @@ -310,7 +316,9 @@ func (g *PokerGame) Deal(roomID string) { waitPlayersActionFn() for idx := range g.Players { - g.Players[idx].Cash = g.Ongoing.Players[idx].Cash + if g.Ongoing.Players[idx] != nil { + g.Players[idx].Cash = g.Ongoing.Players[idx].Cash + } } // TODO: evaluate hands, and crown winner @@ -543,7 +551,7 @@ func buildYourCardsHtml(authUser *database.User, g *PokerGame) string { if g.Ongoing != nil { cards := make([]PlayerCard, 0) for _, p := range g.Ongoing.Players { - if p.Username == authUser.Username.String() { + if p != nil && p.Username == authUser.Username.String() { cards = p.Cards break }