dkforest

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

commit c6faa11ae665af9d0df4aa99598b275544cdba97
parent ef92fac1861b9203d403ef36d4204caaefeece3b
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Sun, 17 Dec 2023 02:17:08 -0500

cleanup

Diffstat:
Mpkg/web/handlers/poker/poker.go | 38+++++++++++++++++++++++++++-----------
1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go @@ -133,6 +133,29 @@ func (p *PokerPlayer) isAllIn() bool { return p.GetCash() == 0 } +func (p *PokerPlayer) refundPartialBet(db *database.DkfDB, pokerTableID int64, diff database.PokerChip) { + _ = db.PokerTableAccountRefundPartialBet(p.UserID, pokerTableID, diff) + p.Bet -= diff + p.Cash += diff +} + +func (p *PokerPlayer) gain(db *database.DkfDB, pokerTableID int64, gain database.PokerChip) { + _ = db.PokerTableAccountGain(p.UserID, pokerTableID, gain) + p.Cash += gain + p.Bet = 0 +} + +func (p *PokerPlayer) resetBet(db *database.DkfDB, pokerTableID int64) { + _ = db.PokerTableAccountResetAmountBet(p.UserID, pokerTableID) + p.Bet = 0 +} + +func (p *PokerPlayer) refundBet(db *database.DkfDB, pokerTableID int64) { + _ = db.PokerTableAccountRefundBet(p.UserID, pokerTableID) + p.Cash += p.GetBet() + p.Bet = 0 +} + func (p *PokerPlayer) doBet(db *database.DkfDB, bet database.PokerChip, pokerTableID int64, roomTopic string) { _ = db.PokerTableAccountBet(p.UserID, pokerTableID, bet) p.RoundTotalBet += bet @@ -825,9 +848,7 @@ RoundIsSettled: firstPlayer := newArray[0] secondPlayer := newArray[1] diff := firstPlayer.GetBet() - secondPlayer.GetBet() - _ = db.PokerTableAccountRefundPartialBet(firstPlayer.UserID, g.PokerTableID, diff) - firstPlayer.Bet -= diff - firstPlayer.Cash += diff + firstPlayer.refundPartialBet(db, g.PokerTableID, diff) } // Transfer players bets into the main pot @@ -1106,22 +1127,17 @@ func applyGains(db *database.DkfDB, g *PokerGame, playersGain []PlayerGain, main for _, el := range playersGain { newLogEvent(g, roomLogsTopic, fmt.Sprintf("Winner #%d: %s %s -> %d", el.Group, el.Player.Username, el.HandStr, el.Gain)) - _ = tx.PokerTableAccountGain(el.Player.UserID, g.PokerTableID, el.Gain) winnersStr += el.Player.Username.String() + " " - el.Player.Cash += el.Gain - el.Player.Bet = 0 + el.Player.gain(tx, g.PokerTableID, el.Gain) } for _, op := range g.Ongoing.Players { - _ = tx.PokerTableAccountResetAmountBet(op.UserID, g.PokerTableID) - op.Bet = 0 + op.resetBet(tx, g.PokerTableID) } } else if nbPlayersGain == 0 { // No winners, refund bets for _, op := range g.Ongoing.Players { - _ = tx.PokerTableAccountRefundBet(op.UserID, g.PokerTableID) - op.Cash += op.GetBet() - op.Bet = 0 + op.refundBet(tx, g.PokerTableID) } } tx.Commit()