commit 7560b94776a1b4ea2407cbcd8d898dffceaa18be
parent bf0c9dd11810a57dabbc7d3e45f4dde03f0cf5aa
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Wed, 6 Dec 2023 06:24:52 -0500
fix stuff, add chips to db
Diffstat:
3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/cmd/dkf/migrations/146.sql b/cmd/dkf/migrations/146.sql
@@ -0,0 +1,4 @@
+-- +migrate Up
+ALTER TABLE users ADD COLUMN chips_test INTEGER NOT NULL DEFAULT 0;
+
+-- +migrate Down
diff --git a/pkg/database/tableUsers.go b/pkg/database/tableUsers.go
@@ -117,6 +117,7 @@ type User struct {
CaptchaRequired bool
Theme int64
GeneralMessagesCount int64
+ ChipsTest int
AFK bool
UseStream bool
SyntaxHighlightCode string
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -171,7 +171,7 @@ func (g *PokerGame) SitPlayer(authUser *database.User, pos int) error {
if g.Players[pos] != nil {
return errors.New("seat already taken")
}
- g.Players[pos] = &PokerStandingPlayer{Username: authUser.Username.String(), Cash: 1000}
+ g.Players[pos] = &PokerStandingPlayer{Username: authUser.Username.String(), Cash: authUser.ChipsTest}
return nil
}
@@ -187,7 +187,7 @@ func NewOngoing(g *PokerGame) *Ongoing {
players := make([]*PokerPlayer, NbPlayers)
for idx, p := range g.Players {
var player *PokerPlayer
- if p != nil {
+ if p != nil && p.Cash > 0 {
player = &PokerPlayer{Username: p.Username, Cash: p.Cash}
}
players[idx] = player
@@ -231,6 +231,9 @@ OUTER:
if player.Folded {
continue
}
+ if player.Cash == 0 {
+ continue
+ }
evt := PokerWaitTurnEvent{Idx: i}
PokerPubSub.Pub(roomTopic, evt)
@@ -617,7 +620,7 @@ func (g *PokerGame) Deal(roomID string, authUser *database.User) {
PokerPubSub.Pub(roomUserTopic, ErrorMsgEvent{Message: "game already ongoing"})
return
}
- if g.CountSeated() < 2 {
+ if g.CountEligibleSeated() < 2 {
PokerPubSub.Pub(roomUserTopic, ErrorMsgEvent{Message: "need at least 2 players"})
return
}
@@ -633,6 +636,15 @@ func (g *PokerGame) Deal(roomID string, authUser *database.User) {
go dealerThread(g, roomID)
}
+func (g *PokerGame) CountEligibleSeated() (count int) {
+ for _, p := range g.Players {
+ if p != nil && p.Cash > 0 {
+ count++
+ }
+ }
+ return
+}
+
func (g *PokerGame) CountSeated() (count int) {
for _, p := range g.Players {
if p != nil {