commit 59c1b8c3c132dd61e73215e55ab85a5b99d3a0e5
parent 7d9cc181832c01db80de1f46f35079c58751c163
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Sun, 24 Dec 2023 17:10:57 -0500
refactor
Diffstat:
2 files changed, 83 insertions(+), 83 deletions(-)
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -146,11 +146,11 @@ type ongoingGame struct {
deck []string
}
-type pokerPlayers []*pokerPlayer
+type pokerPlayers []*PokerPlayer
type seatedPlayers []*seatedPlayer
-func (p pokerPlayers) get(userID database.UserID) *pokerPlayer {
+func (p pokerPlayers) get(userID database.UserID) *PokerPlayer {
for _, player := range p {
if player != nil && player.userID == userID {
return player
@@ -175,9 +175,9 @@ func (p seatedPlayers) resetStatuses() {
}
func (p seatedPlayers) toPokerPlayers() pokerPlayers {
- players := make([]*pokerPlayer, 0)
+ players := make([]*PokerPlayer, 0)
for _, player := range p {
- players = append(players, &pokerPlayer{seatedPlayer: player})
+ players = append(players, &PokerPlayer{seatedPlayer: player})
}
return players
}
@@ -217,7 +217,7 @@ func (p *seatedPlayer) isEligible(pokerTableMinBet database.PokerChip) bool {
return p != nil && p.getCash() >= pokerTableMinBet
}
-type pokerPlayer struct {
+type PokerPlayer struct {
*seatedPlayer
bet rwmtx.RWMtxUInt64[database.PokerChip]
cards rwmtx.RWMtx[[]playerCard]
@@ -235,21 +235,21 @@ func (g *PokerGame) IsBet() (out bool) {
return
}
-func (g *PokerGame) IsYourTurn(player *pokerPlayer) (out bool) {
+func (g *PokerGame) IsYourTurn(player *PokerPlayer) (out bool) {
if g.ongoing != nil {
return player.userID == g.ongoing.playerToPlay.Get()
}
return
}
-func (g *PokerGame) CanCheck(player *pokerPlayer) (out bool) {
+func (g *PokerGame) CanCheck(player *PokerPlayer) (out bool) {
if g.ongoing != nil {
return player.bet.Get() == g.ongoing.MinBet.Get()
}
return
}
-func (g *PokerGame) CanFold(player *pokerPlayer) (out bool) {
+func (g *PokerGame) CanFold(player *PokerPlayer) (out bool) {
if g.ongoing != nil {
return player.bet.Get() < g.ongoing.MinBet.Get()
}
@@ -270,52 +270,52 @@ func (p *PokerGame) MinRaise() (out database.PokerChip) {
return
}
-func (p *pokerPlayer) GetBet() (out database.PokerChip) {
+func (p *PokerPlayer) GetBet() (out database.PokerChip) {
return p.bet.Get()
}
-func (p *pokerPlayer) canBet() bool {
+func (p *PokerPlayer) canBet() bool {
return !p.folded.Load() && !p.isAllIn()
}
-func (p *pokerPlayer) isAllIn() bool {
+func (p *PokerPlayer) isAllIn() bool {
return p.getCash() == 0
}
-func (p *pokerPlayer) refundPartialBet(db *database.DkfDB, pokerTableID int64, diff database.PokerChip) {
+func (p *PokerPlayer) refundPartialBet(db *database.DkfDB, pokerTableID int64, diff database.PokerChip) {
_ = db.PokerTableAccountRefundPartialBet(p.userID, pokerTableID, diff)
p.tmp(-diff)
}
-func (p *pokerPlayer) doBet(db *database.DkfDB, pokerTableID int64, bet database.PokerChip) {
+func (p *PokerPlayer) doBet(db *database.DkfDB, pokerTableID int64, bet database.PokerChip) {
_ = db.PokerTableAccountBet(p.userID, pokerTableID, bet)
p.tmp(bet)
}
-func (p *pokerPlayer) tmp(diff database.PokerChip) {
+func (p *PokerPlayer) tmp(diff database.PokerChip) {
p.gameBet += diff
p.bet.Incr(diff)
p.cash.Incr(-diff)
}
-func (p *pokerPlayer) gain(db *database.DkfDB, pokerTableID int64, gain database.PokerChip) {
+func (p *PokerPlayer) gain(db *database.DkfDB, pokerTableID int64, gain database.PokerChip) {
_ = db.PokerTableAccountGain(p.userID, pokerTableID, gain)
p.cash.Incr(gain)
p.bet.Set(0)
}
// Reset player's bet to 0 and return the value it had before the reset
-func (p *pokerPlayer) resetBet() (old database.PokerChip) {
+func (p *PokerPlayer) resetBet() (old database.PokerChip) {
// Do not track in database
// DB keeps track of what was bet during the whole (1 hand) game
return p.bet.Replace(0)
}
-func (p *pokerPlayer) refundBet(db *database.DkfDB, pokerTableID int64) {
+func (p *PokerPlayer) refundBet(db *database.DkfDB, pokerTableID int64) {
p.gain(db, pokerTableID, p.GetBet())
}
-func (p *pokerPlayer) doBetAndNotif(db *database.DkfDB, pokerTableID int64, bet database.PokerChip, roomTopic string) {
+func (p *PokerPlayer) doBetAndNotif(db *database.DkfDB, pokerTableID int64, bet database.PokerChip, roomTopic string) {
p.doBet(db, pokerTableID, bet)
PokerPubSub.Pub(roomTopic, PlayerBetEvent{PlayerSeatIdx: p.seatIdx, Player: p.username, Bet: bet, TotalBet: p.GetBet(), Cash: p.getCash()})
}
@@ -341,7 +341,7 @@ type PokerGame struct {
type gameResult struct {
handScore int32
- players []*pokerPlayer
+ players []*PokerPlayer
}
func (g *PokerGame) GetLogs() (out []LogEvent) {
@@ -404,7 +404,7 @@ func (g *ongoingGame) setMainPot(v database.PokerChip) {
func (g *ongoingGame) computeWinners() (winner []gameResult) {
countAlive := 0
- var lastAlive *pokerPlayer
+ var lastAlive *PokerPlayer
for _, p := range g.players {
if !p.folded.Load() {
countAlive++
@@ -414,10 +414,10 @@ func (g *ongoingGame) computeWinners() (winner []gameResult) {
if countAlive == 0 {
return []gameResult{}
} else if countAlive == 1 {
- return []gameResult{{-1, []*pokerPlayer{lastAlive}}}
+ return []gameResult{{-1, []*PokerPlayer{lastAlive}}}
}
- m := make(map[int32][]*pokerPlayer)
+ m := make(map[int32][]*PokerPlayer)
for _, p := range g.players {
if p.folded.Load() {
continue
@@ -444,7 +444,7 @@ func (g *ongoingGame) computeWinners() (winner []gameResult) {
}
handEvaluation := poker.Evaluate(hand)
if _, ok := m[handEvaluation]; !ok {
- m[handEvaluation] = make([]*pokerPlayer, 0)
+ m[handEvaluation] = make([]*PokerPlayer, 0)
}
m[handEvaluation] = append(m[handEvaluation], p)
}
@@ -482,7 +482,7 @@ func (g *ongoingGame) GetDeckHash() string {
// Get the player index in ongoingGame.Players from a seat index (index in PokerGame.Players)
// [nil p1 nil nil p2 nil] -> PokerGame.Players
// [p1 p2] -> ongoingGame.Players
-func (g *ongoingGame) getPlayerBySeatIdx(seatIdx int) (*pokerPlayer, int) {
+func (g *ongoingGame) getPlayerBySeatIdx(seatIdx int) (*PokerPlayer, int) {
for idx, p := range g.players {
if p.seatIdx == seatIdx {
return p, idx
@@ -528,7 +528,7 @@ func isSeated(players seatedPlayers, userID database.UserID) bool {
return players.get(userID) != nil
}
-func isRoundSettled(players []*pokerPlayer) bool {
+func isRoundSettled(players []*PokerPlayer) bool {
type Tmp struct {
Bet database.PokerChip
AllIn bool
@@ -555,7 +555,7 @@ func (g *PokerGame) incrDealerIdx() (smallBlindIdx, bigBlindIdx int) {
ongoing := g.ongoing
nbPlayers := len(ongoing.players)
dealerSeatIdx := g.dealerSeatIdx.Load()
- var dealerPlayer *pokerPlayer
+ var dealerPlayer *PokerPlayer
var dealerIdx int
for {
dealerSeatIdx = (dealerSeatIdx + 1) % NbPlayers
@@ -752,7 +752,7 @@ type autoAction struct {
evt playerEvent
}
-func foldPlayer(g *PokerGame, p *pokerPlayer) {
+func foldPlayer(g *PokerGame, p *PokerPlayer) {
roomTopic := g.roomID.Topic()
p.folded.Store(true)
var firstCardIdx, secondCardIdx int
@@ -767,7 +767,7 @@ func foldPlayer(g *PokerGame, p *pokerPlayer) {
g.ongoing.events.Append(evt1, evt2)
}
-func doUnsit(g *PokerGame, p *pokerPlayer, playerAlive *int) int {
+func doUnsit(g *PokerGame, p *PokerPlayer, playerAlive *int) int {
*playerAlive = g.ongoing.countAlivePlayers()
if *playerAlive == 1 {
p.countChancesToAction--
@@ -776,7 +776,7 @@ func doUnsit(g *PokerGame, p *pokerPlayer, playerAlive *int) int {
return continueGetPlayerEventLoop
}
-func doTimeout(g *PokerGame, p *pokerPlayer, playerAlive *int) int {
+func doTimeout(g *PokerGame, p *PokerPlayer, playerAlive *int) int {
pUsername := p.username
if p.GetBet() < g.ongoing.MinBet.Get() {
foldPlayer(g, p)
@@ -795,7 +795,7 @@ func doTimeout(g *PokerGame, p *pokerPlayer, playerAlive *int) int {
return breakGetPlayerEventLoop
}
-func doCheck(g *PokerGame, p *pokerPlayer) int {
+func doCheck(g *PokerGame, p *PokerPlayer) int {
minBet := g.ongoing.MinBet.Get()
if p.GetBet() < minBet {
msg := fmt.Sprintf("Need to bet %d", minBet-p.GetBet())
@@ -808,7 +808,7 @@ func doCheck(g *PokerGame, p *pokerPlayer) int {
return doNothing
}
-func doFold(g *PokerGame, p *pokerPlayer, playerAlive *int) int {
+func doFold(g *PokerGame, p *PokerPlayer, playerAlive *int) int {
roomUserTopic := g.roomID.UserTopic(p.userID)
if p.GetBet() == g.ongoing.MinBet.Get() {
msg := fmt.Sprintf("Cannot fold if there is no bet; check")
@@ -827,8 +827,8 @@ func doFold(g *PokerGame, p *pokerPlayer, playerAlive *int) int {
return doNothing
}
-func doCall(g *PokerGame, p *pokerPlayer,
- newlyAllInPlayers *[]*pokerPlayer, lastBetPlayerIdx *int, playerToPlayIdx int) int {
+func doCall(g *PokerGame, p *PokerPlayer,
+ newlyAllInPlayers *[]*PokerPlayer, lastBetPlayerIdx *int, playerToPlayIdx int) int {
pUsername := p.username
bet := utils.MinInt(g.ongoing.MinBet.Get()-p.GetBet(), p.getCash())
if bet == 0 {
@@ -844,8 +844,8 @@ func doCall(g *PokerGame, p *pokerPlayer,
return doNothing
}
-func doAllIn(g *PokerGame, p *pokerPlayer,
- newlyAllInPlayers *[]*pokerPlayer, lastBetPlayerIdx *int, playerToPlayIdx int) int {
+func doAllIn(g *PokerGame, p *PokerPlayer,
+ newlyAllInPlayers *[]*PokerPlayer, lastBetPlayerIdx *int, playerToPlayIdx int) int {
bet := p.getCash()
minBet := g.ongoing.MinBet.Get()
if (p.GetBet() + bet) > minBet {
@@ -864,14 +864,14 @@ func doAllIn(g *PokerGame, p *pokerPlayer,
return doNothing
}
-func doRaise(g *PokerGame, p *pokerPlayer,
- newlyAllInPlayers *[]*pokerPlayer, lastBetPlayerIdx *int, playerToPlayIdx int, evt playerEvent) int {
+func doRaise(g *PokerGame, p *PokerPlayer,
+ newlyAllInPlayers *[]*PokerPlayer, lastBetPlayerIdx *int, playerToPlayIdx int, evt playerEvent) int {
evt.Bet = g.ongoing.MinRaise.Get()
return doBet(g, p, newlyAllInPlayers, lastBetPlayerIdx, playerToPlayIdx, evt)
}
-func doBet(g *PokerGame, p *pokerPlayer,
- newlyAllInPlayers *[]*pokerPlayer, lastBetPlayerIdx *int, playerToPlayIdx int, evt playerEvent) int {
+func doBet(g *PokerGame, p *PokerPlayer,
+ newlyAllInPlayers *[]*PokerPlayer, lastBetPlayerIdx *int, playerToPlayIdx int, evt playerEvent) int {
roomTopic := g.roomID.Topic()
roomUserTopic := g.roomID.UserTopic(p.userID)
minBet := g.ongoing.MinBet.Get()
@@ -935,8 +935,8 @@ func handleAutoActionReceived(g *PokerGame, autoCache map[database.UserID]autoAc
return continueGetPlayerEventLoop
}
-func applyAutoAction(g *PokerGame, p *pokerPlayer,
- newlyAllInPlayers *[]*pokerPlayer,
+func applyAutoAction(g *PokerGame, p *PokerPlayer,
+ newlyAllInPlayers *[]*PokerPlayer,
lastBetPlayerIdx, playerAlive *int, playerToPlayIdx int, autoAction autoAction,
autoCache map[database.UserID]autoAction) (actionResult int) {
@@ -951,8 +951,8 @@ func applyAutoAction(g *PokerGame, p *pokerPlayer,
return actionResult
}
-func handlePlayerActionEvent(g *PokerGame, p *pokerPlayer,
- newlyAllInPlayers *[]*pokerPlayer,
+func handlePlayerActionEvent(g *PokerGame, p *PokerPlayer,
+ newlyAllInPlayers *[]*PokerPlayer,
lastBetPlayerIdx, playerAlive *int, playerToPlayIdx int, evt playerEvent) (actionResult int) {
p.lastActionTS = time.Now()
@@ -986,7 +986,7 @@ func execBettingRound(g *PokerGame, skip int, minBet database.PokerChip) bool {
_, dealerIdx := ongoing.getPlayerBySeatIdx(int(g.dealerSeatIdx.Load()))
playerToPlayIdx := (dealerIdx + skip) % len(ongoing.players)
lastBetPlayerIdx := -1
- newlyAllInPlayers := make([]*pokerPlayer, 0)
+ newlyAllInPlayers := make([]*PokerPlayer, 0)
autoCache := make(map[database.UserID]autoAction)
for _, p := range ongoing.players {
@@ -1126,7 +1126,7 @@ func refundUncalledBet(db *database.DkfDB, ongoing *ongoingGame, pokerTableID in
if lenPlayers < 2 {
return
}
- newArray := make([]*pokerPlayer, lenPlayers)
+ newArray := make([]*PokerPlayer, lenPlayers)
copy(newArray, ongoing.players)
sort.Slice(newArray, func(i, j int) bool { return newArray[i].GetBet() > newArray[j].GetBet() })
firstPlayer := newArray[0]
@@ -1242,7 +1242,7 @@ func dealPlayersCards(g *PokerGame, seats []Seat, idx *int) {
}
}
-func computeAllInMaxGain(ongoing *ongoingGame, newlyAllInPlayers []*pokerPlayer, mainPot database.PokerChip) {
+func computeAllInMaxGain(ongoing *ongoingGame, newlyAllInPlayers []*PokerPlayer, mainPot database.PokerChip) {
for _, p := range newlyAllInPlayers {
maxGain := mainPot
for _, op := range ongoing.players {
@@ -1471,7 +1471,7 @@ func applyGains(g *PokerGame, playersGain []PlayerGain, mainPot, rake database.P
}
type PlayerGain struct {
- Player *pokerPlayer
+ Player *PokerPlayer
Gain database.PokerChip
Group int
HandStr string
@@ -1503,7 +1503,7 @@ func calculateRake(mainPot, pokerTableMinBet database.PokerChip, nbPlayers int)
}
func processPot(winners []gameResult, mainPot, pokerTableMinBet database.PokerChip, collectRake bool, nbPlayers int) (res []PlayerGain, rake database.PokerChip) {
- newPlayerGain := func(player *pokerPlayer, gain database.PokerChip, groupIdx int, handStr string) PlayerGain {
+ newPlayerGain := func(player *PokerPlayer, gain database.PokerChip, groupIdx int, handStr string) PlayerGain {
return PlayerGain{Player: player, Gain: gain, Group: groupIdx, HandStr: handStr}
}
@@ -1605,7 +1605,7 @@ func cardToPokerCard(name string) string {
return r.Replace(name)
}
-func (g *PokerGame) OngoingPlayer(userID database.UserID) *pokerPlayer {
+func (g *PokerGame) OngoingPlayer(userID database.UserID) *PokerPlayer {
if g.ongoing != nil {
return g.ongoing.players.get(userID)
}
diff --git a/pkg/web/handlers/poker/poker_test.go b/pkg/web/handlers/poker/poker_test.go
@@ -12,12 +12,12 @@ func n(v uint64) utils.RWMtx[database.PokerChip] {
}
func Test_sortGameResults(t *testing.T) {
- p1 := &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p1"}, gameBet: 10}
- p2 := &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 20}
- p3 := &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p3"}, gameBet: 30}
- p4 := &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p4"}, gameBet: 100}
+ p1 := &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p1"}, gameBet: 10}
+ p2 := &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 20}
+ p3 := &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p3"}, gameBet: 30}
+ p4 := &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p4"}, gameBet: 100}
arr := []gameResult{
- {1, []*pokerPlayer{p2, p4, p1, p3}},
+ {1, []*PokerPlayer{p2, p4, p1, p3}},
}
sortGameResults(arr)
assert.Equal(t, database.Username("p1"), arr[0].players[0].username)
@@ -27,16 +27,16 @@ func Test_sortGameResults(t *testing.T) {
}
func Test_processPot(t *testing.T) {
- var p1, p2, p3, p4 *pokerPlayer
+ var p1, p2, p3, p4 *PokerPlayer
var arr []gameResult
var res []PlayerGain
- p1 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p1"}, gameBet: 100, allInMaxGain: 400}
- p2 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 200, allInMaxGain: 700}
- p3 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p3"}, gameBet: 300, allInMaxGain: 900}
- p4 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p4"}, gameBet: 400}
+ p1 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p1"}, gameBet: 100, allInMaxGain: 400}
+ p2 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 200, allInMaxGain: 700}
+ p3 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p3"}, gameBet: 300, allInMaxGain: 900}
+ p4 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p4"}, gameBet: 400}
arr = []gameResult{
- {1, []*pokerPlayer{p2, p4, p1, p3}},
+ {1, []*PokerPlayer{p2, p4, p1, p3}},
}
sortGameResults(arr)
res, _ = processPot(arr, 1000, 20, false, 4)
@@ -45,12 +45,12 @@ func Test_processPot(t *testing.T) {
assert.Equal(t, database.PokerChip(250), res[2].Gain)
assert.Equal(t, database.PokerChip(250), res[3].Gain)
- p1 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p1"}, gameBet: 10, allInMaxGain: 40}
- p2 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 20, allInMaxGain: 70}
- p3 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p3"}, gameBet: 300, allInMaxGain: 630}
- p4 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p4"}, gameBet: 400}
+ p1 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p1"}, gameBet: 10, allInMaxGain: 40}
+ p2 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 20, allInMaxGain: 70}
+ p3 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p3"}, gameBet: 300, allInMaxGain: 630}
+ p4 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p4"}, gameBet: 400}
arr = []gameResult{
- {1, []*pokerPlayer{p2, p4, p1, p3}},
+ {1, []*PokerPlayer{p2, p4, p1, p3}},
}
sortGameResults(arr)
res, _ = processPot(arr, 1000, 20, false, 4)
@@ -59,11 +59,11 @@ func Test_processPot(t *testing.T) {
assert.Equal(t, database.PokerChip(445), res[2].Gain)
assert.Equal(t, database.PokerChip(445), res[3].Gain)
- p1 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p1"}, gameBet: 500}
- p2 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 500, allInMaxGain: 1000}
+ p1 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p1"}, gameBet: 500}
+ p2 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 500, allInMaxGain: 1000}
arr = []gameResult{
- {1, []*pokerPlayer{p2}},
- {2, []*pokerPlayer{p1}},
+ {1, []*PokerPlayer{p2}},
+ {2, []*PokerPlayer{p1}},
}
sortGameResults(arr)
res, _ = processPot(arr, 1000, 20, false, 2)
@@ -71,14 +71,14 @@ func Test_processPot(t *testing.T) {
assert.Equal(t, database.Username("p2"), res[0].Player.username)
assert.Equal(t, database.PokerChip(1000), res[0].Gain)
- p1 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p1"}, gameBet: 5}
- p2 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p2"}, gameBet: 5}
- p3 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p3"}, gameBet: 5}
- p4 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p4"}, gameBet: 5}
+ p1 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p1"}, gameBet: 5}
+ p2 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p2"}, gameBet: 5}
+ p3 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p3"}, gameBet: 5}
+ p4 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(1), username: "p4"}, gameBet: 5}
//p5 = &PokerPlayer{Cash: 1, GameBet: 3, Folded: true, Username: "p5"}
arr = []gameResult{
- {1, []*pokerPlayer{p1, p2, p3}},
- {2, []*pokerPlayer{p4}},
+ {1, []*PokerPlayer{p1, p2, p3}},
+ {2, []*PokerPlayer{p4}},
}
sortGameResults(arr)
res, _ = processPot(arr, 23, 20, false, 4)
@@ -87,11 +87,11 @@ func Test_processPot(t *testing.T) {
assert.Equal(t, database.PokerChip(8), res[1].Gain)
assert.Equal(t, database.PokerChip(7), res[2].Gain)
- p1 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p1"}, gameBet: 900, allInMaxGain: 1560}
- p2 = &pokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 640, allInMaxGain: 1300}
+ p1 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p1"}, gameBet: 900, allInMaxGain: 1560}
+ p2 = &PokerPlayer{seatedPlayer: &seatedPlayer{cash: n(0), username: "p2"}, gameBet: 640, allInMaxGain: 1300}
arr = []gameResult{
- {1, []*pokerPlayer{p2}},
- {2, []*pokerPlayer{p1}},
+ {1, []*PokerPlayer{p2}},
+ {2, []*PokerPlayer{p1}},
}
sortGameResults(arr)
res, _ = processPot(arr, 1560, 20, false, 2)
@@ -102,24 +102,24 @@ func Test_processPot(t *testing.T) {
func Test_isRoundSettled(t *testing.T) {
type args struct {
- players []*pokerPlayer
+ players []*PokerPlayer
}
tests := []struct {
name string
args args
want bool
}{
- {"1", args{players: []*pokerPlayer{
+ {"1", args{players: []*PokerPlayer{
{bet: n(10), seatedPlayer: &seatedPlayer{cash: n(0)}},
{bet: n(20), seatedPlayer: &seatedPlayer{cash: n(0)}},
{bet: n(30), seatedPlayer: &seatedPlayer{cash: n(1)}},
{bet: n(30), seatedPlayer: &seatedPlayer{cash: n(1)}}}}, true},
- {"2", args{players: []*pokerPlayer{
+ {"2", args{players: []*PokerPlayer{
{bet: n(100), seatedPlayer: &seatedPlayer{cash: n(0)}},
{bet: n(20), seatedPlayer: &seatedPlayer{cash: n(0)}},
{bet: n(30), seatedPlayer: &seatedPlayer{cash: n(1)}},
{bet: n(30), seatedPlayer: &seatedPlayer{cash: n(1)}}}}, false},
- {"3", args{players: []*pokerPlayer{
+ {"3", args{players: []*PokerPlayer{
{bet: n(10), seatedPlayer: &seatedPlayer{cash: n(0)}},
{bet: n(200), seatedPlayer: &seatedPlayer{cash: n(0)}},
{bet: n(30), seatedPlayer: &seatedPlayer{cash: n(1)}},