commit 5874edd38989968bc7f2855bb4b9fcd3824c88e0
parent 6e771e4813f10c6fd7c40a40c7e646450934746f
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Sun, 17 Dec 2023 05:04:50 -0500
cleanup
Diffstat:
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -102,6 +102,7 @@ type Ongoing struct {
}
type SeatedPlayer struct {
+ SeatIdx int
UserID database.UserID
Username database.Username
Cash database.PokerChip
@@ -387,15 +388,15 @@ func (g *PokerGame) UnSitPlayer(db *database.DkfDB, roomID RoomID, authUser *dat
g.PlayersMtx.Lock()
defer g.PlayersMtx.Unlock()
- for idx, p := range g.Players {
+ for _, p := range g.Players {
if p != nil && p.Username == authUser.Username {
- return g.UnSitPlayer1(db, roomID, p, idx)
+ return g.UnSitPlayer1(db, roomID, p)
}
}
return errors.New("player is not sit")
}
-func (g *PokerGame) UnSitPlayer1(db *database.DkfDB, roomID RoomID, seatedPlayer *SeatedPlayer, idx int) error {
+func (g *PokerGame) UnSitPlayer1(db *database.DkfDB, roomID RoomID, seatedPlayer *SeatedPlayer) error {
roomTopic := roomID.Topic()
seatedPlayerUsername := seatedPlayer.Username
@@ -434,7 +435,7 @@ func (g *PokerGame) UnSitPlayer1(db *database.DkfDB, roomID RoomID, seatedPlayer
player.CardsMtx.RUnlock()
}
}
- g.Players[idx] = nil
+ g.Players[seatedPlayer.SeatIdx] = nil
return nil
}
@@ -449,7 +450,7 @@ func (g *PokerGame) SitPlayer(authUser *database.User, pos int, chips database.P
if g.Players[pos] != nil {
return errors.New("seat already taken")
}
- g.Players[pos] = &SeatedPlayer{UserID: authUser.ID, Username: authUser.Username, Cash: chips, LastActionTS: time.Now()}
+ g.Players[pos] = &SeatedPlayer{SeatIdx: pos, UserID: authUser.ID, Username: authUser.Username, Cash: chips, LastActionTS: time.Now()}
return nil
}
@@ -1096,7 +1097,7 @@ func autoUnsitInactivePlayers(db *database.DkfDB, g *PokerGame, roomID RoomID) {
roomTopic := roomID.Topic()
g.PlayersMtx.Lock()
defer g.PlayersMtx.Unlock()
- for idx, p := range g.Players {
+ for _, p := range g.Players {
if p != nil {
playerShallBeBooted := false
if !p.isEligible(g.PokerTableMinBet) {
@@ -1109,7 +1110,7 @@ func autoUnsitInactivePlayers(db *database.DkfDB, g *PokerGame, roomID RoomID) {
(op == nil && !p.isEligible(g.PokerTableMinBet))
}
if playerShallBeBooted {
- if err := g.UnSitPlayer1(db, roomID, p, idx); err == nil {
+ if err := g.UnSitPlayer1(db, roomID, p); err == nil {
PokerPubSub.Pub(roomTopic, PokerSeatLeftEvent{})
g.newLogEvent(fmt.Sprintf("%s auto un-sit", p.Username))
} else {