dkforest

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

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:
Mpkg/web/handlers/poker/poker.go | 17+++++++++++------
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 }