commit 53181b99482ec7015bcb01eb186985fd95625c87
parent c55207f372163e71d97a563aa2007995d2360e0b
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 5 Dec 2023 06:13:33 -0500
cleanup
Diffstat:
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
}