commit cf2e642848f5131522bcfe4eea6b66a88081c513
parent 1d89d37bc220897443eedce42441ff06ea151487
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 12 Dec 2023 18:07:13 -0500
fix playing orders in 2 players game
Diffstat:
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -337,8 +337,9 @@ func (g *PokerGame) incrDealerIdx() {
}
g.DealerSeatIdx.Store(dealerSeatIdx)
dealerIdx := g.Ongoing.getPlayerIdxBySeatIdx(int(dealerSeatIdx))
- g.smallBlindIdx = (int(dealerIdx) + 1) % nbPlayers
- g.bigBlindIdx = (int(dealerIdx) + 2) % nbPlayers
+ startIDx := utils.Ternary(nbPlayers == 2, 0, 1)
+ g.smallBlindIdx = (dealerIdx + startIDx) % nbPlayers
+ g.bigBlindIdx = (dealerIdx + startIDx + 1) % nbPlayers
}
func (g *PokerGame) UnSitPlayer(db *database.DkfDB, roomID string, authUser *database.User) error {
@@ -834,7 +835,8 @@ func dealerThread(db *database.DkfDB, g *PokerGame, roomID string) {
// Wait for players to bet/call/check/fold...
time.Sleep(time.Second)
- if waitPlayersActionFn(db, g, roomID, 2, bigBlindBet) {
+ skip := utils.Ternary(len(g.Ongoing.Players) == 2, 1, 2)
+ if waitPlayersActionFn(db, g, roomID, skip, bigBlindBet) {
goto END
}
@@ -848,7 +850,8 @@ func dealerThread(db *database.DkfDB, g *PokerGame, roomID string) {
// Wait for players to bet/call/check/fold...
time.Sleep(time.Second)
- if waitPlayersActionFn(db, g, roomID, 0, 0) {
+ skip = utils.Ternary(len(g.Ongoing.Players) == 2, 1, 0)
+ if waitPlayersActionFn(db, g, roomID, skip, 0) {
goto END
}
@@ -860,7 +863,8 @@ func dealerThread(db *database.DkfDB, g *PokerGame, roomID string) {
// Wait for players to bet/call/check/fold...
time.Sleep(time.Second)
- if waitPlayersActionFn(db, g, roomID, 0, 0) {
+ skip = utils.Ternary(len(g.Ongoing.Players) == 2, 1, 0)
+ if waitPlayersActionFn(db, g, roomID, skip, 0) {
goto END
}
@@ -872,7 +876,8 @@ func dealerThread(db *database.DkfDB, g *PokerGame, roomID string) {
// Wait for players to bet/call/check/fold...
time.Sleep(time.Second)
- if waitPlayersActionFn(db, g, roomID, 0, 0) {
+ skip = utils.Ternary(len(g.Ongoing.Players) == 2, 1, 0)
+ if waitPlayersActionFn(db, g, roomID, skip, 0) {
goto END
}