commit b3c176a338e03c2200d563810f56a4a42d90a6b4
parent 507274bed84ac105565770144211193d65a3e7dd
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 19 Dec 2023 01:29:49 -0500
cleanup
Diffstat:
2 files changed, 111 insertions(+), 111 deletions(-)
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -56,7 +56,7 @@ func (p *Poker) GetOrCreateGame(db *database.DkfDB, roomID RoomID, pokerTableID
PokerTableMinBet: pokerTableMinBet,
pokerTableIsTest: pokerTableIsTest,
playersEventCh: make(chan PlayerEvent),
- Players: utils.NewRWMtx(make([]*SeatedPlayer, NbPlayers)),
+ Players: utils.NewRWMtx(make([]*seatedPlayer, NbPlayers)),
dealerSeatIdx: atomic.Int32{},
}
g.dealerSeatIdx.Store(-1)
@@ -115,26 +115,26 @@ type Ongoing struct {
communityCards []string
}
-type SeatedPlayer struct {
- SeatIdx int
- UserID database.UserID
- Username database.Username
- Cash utils.RWMtx[database.PokerChip]
- LastActionTS time.Time
+type seatedPlayer struct {
+ seatIdx int
+ userID database.UserID
+ username database.Username
+ cash utils.RWMtx[database.PokerChip]
+ lastActionTS time.Time
}
-func (p *SeatedPlayer) GetCash() (out database.PokerChip) {
- p.Cash.RWith(func(v *database.PokerChip) { out = *v })
+func (p *seatedPlayer) GetCash() (out database.PokerChip) {
+ p.cash.RWith(func(v *database.PokerChip) { out = *v })
return
}
// Return either or not a player is eligible to play a game
-func (p *SeatedPlayer) isEligible(pokerTableMinBet database.PokerChip) bool {
+func (p *seatedPlayer) isEligible(pokerTableMinBet database.PokerChip) bool {
return p != nil && p.GetCash() >= pokerTableMinBet
}
type PokerPlayer struct {
- *SeatedPlayer
+ *seatedPlayer
Bet utils.RWMtx[database.PokerChip]
Cards utils.RWMtx[[]playerCard]
Folded atomic.Bool
@@ -159,22 +159,22 @@ func (p *PokerPlayer) isAllIn() bool {
}
func (p *PokerPlayer) refundPartialBet(db *database.DkfDB, pokerTableID int64, diff database.PokerChip) {
- _ = db.PokerTableAccountRefundPartialBet(p.UserID, pokerTableID, diff)
+ _ = db.PokerTableAccountRefundPartialBet(p.userID, pokerTableID, diff)
p.GameBet -= diff
p.Bet.With(func(v *database.PokerChip) { *v -= diff })
- p.Cash.With(func(cash *database.PokerChip) { *cash += diff })
+ p.cash.With(func(cash *database.PokerChip) { *cash += diff })
}
func (p *PokerPlayer) doBet(db *database.DkfDB, pokerTableID int64, bet database.PokerChip) {
- _ = db.PokerTableAccountBet(p.UserID, pokerTableID, bet)
+ _ = db.PokerTableAccountBet(p.userID, pokerTableID, bet)
p.GameBet += bet
p.Bet.With(func(v *database.PokerChip) { *v += bet })
- p.Cash.With(func(cash *database.PokerChip) { *cash -= bet })
+ p.cash.With(func(cash *database.PokerChip) { *cash -= bet })
}
func (p *PokerPlayer) gain(db *database.DkfDB, pokerTableID int64, gain database.PokerChip) {
- _ = db.PokerTableAccountGain(p.UserID, pokerTableID, gain)
- p.Cash.With(func(cash *database.PokerChip) { *cash += gain })
+ _ = db.PokerTableAccountGain(p.userID, pokerTableID, gain)
+ p.cash.With(func(cash *database.PokerChip) { *cash += gain })
p.Bet.With(func(bet *database.PokerChip) { *bet = 0 })
}
@@ -195,7 +195,7 @@ func (p *PokerPlayer) refundBet(db *database.DkfDB, pokerTableID int64) {
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()})
+ PokerPubSub.Pub(roomTopic, PlayerBetEvent{PlayerSeatIdx: p.seatIdx, Player: p.username, Bet: bet, TotalBet: p.GetBet(), Cash: p.GetCash()})
}
type playerCard struct {
@@ -204,7 +204,7 @@ type playerCard struct {
}
type PokerGame struct {
- Players utils.RWMtx[[]*SeatedPlayer]
+ Players utils.RWMtx[[]*seatedPlayer]
Ongoing *Ongoing
db *database.DkfDB
roomID RoomID
@@ -353,7 +353,7 @@ func (g *Ongoing) GetDeckHash() string {
// [p1 p2] -> Ongoing.Players
func (g *Ongoing) getPlayerBySeatIdx(seatIdx int) (*PokerPlayer, int) {
for idx, p := range g.Players {
- if p.SeatIdx == seatIdx {
+ if p.seatIdx == seatIdx {
return p, idx
}
}
@@ -380,16 +380,16 @@ func (g *Ongoing) countAlivePlayers() (playerAlive int) {
func (g *Ongoing) getPlayer(userID database.UserID) *PokerPlayer {
for _, p := range g.Players {
- if p.UserID == userID {
+ if p.userID == userID {
return p
}
}
return nil
}
-func getPlayer(players []*SeatedPlayer, userID database.UserID) (out *SeatedPlayer) {
+func getPlayer(players []*seatedPlayer, userID database.UserID) (out *seatedPlayer) {
for _, p := range players {
- if p != nil && p.UserID == userID {
+ if p != nil && p.userID == userID {
return p
}
}
@@ -403,11 +403,11 @@ func (g *PokerGame) IsSeated(userID database.UserID) bool {
}
func (g *PokerGame) isSeated(userID database.UserID) (out bool) {
- g.Players.RWith(func(gPlayers *[]*SeatedPlayer) { out = isSeated(*gPlayers, userID) })
+ g.Players.RWith(func(gPlayers *[]*seatedPlayer) { out = isSeated(*gPlayers, userID) })
return
}
-func isSeated(players []*SeatedPlayer, userID database.UserID) bool {
+func isSeated(players []*seatedPlayer, userID database.UserID) bool {
return getPlayer(players, userID) != nil
}
@@ -460,7 +460,7 @@ func (g *PokerGame) Sit(userID database.UserID, username database.Username, pos
return
}
- if err := g.Players.WithE(func(gPlayers *[]*SeatedPlayer) error {
+ if err := g.Players.WithE(func(gPlayers *[]*seatedPlayer) error {
tableAccount, err := g.db.GetPokerTableAccount(userID, tableID)
if err != nil {
return errors.New("failed to get table account")
@@ -477,7 +477,7 @@ func (g *PokerGame) Sit(userID database.UserID, username database.Username, pos
if (*gPlayers)[pos] != nil {
return errors.New("seat already taken")
}
- (*gPlayers)[pos] = &SeatedPlayer{SeatIdx: pos, UserID: userID, Username: username, Cash: utils.NewRWMtx(tableAccount.Amount), LastActionTS: time.Now()}
+ (*gPlayers)[pos] = &seatedPlayer{seatIdx: pos, userID: userID, username: username, cash: utils.NewRWMtx(tableAccount.Amount), lastActionTS: time.Now()}
PokerPubSub.Pub(g.roomID.Topic(), PokerSeatTakenEvent{})
g.newLogEvent(fmt.Sprintf("%s sit", username.String()))
@@ -497,22 +497,22 @@ func (g *PokerGame) UnSitPlayer(userID database.UserID) {
}
}
- g.Players.With(func(gPlayers *[]*SeatedPlayer) {
+ g.Players.With(func(gPlayers *[]*seatedPlayer) {
p := getPlayer(*gPlayers, userID)
if p == nil {
return
}
g.unSitPlayer1(gPlayers, p)
PokerPubSub.Pub(g.roomID.Topic(), PokerSeatLeftEvent{})
- g.newLogEvent(fmt.Sprintf("%s un-sit", p.Username.String()))
+ g.newLogEvent(fmt.Sprintf("%s un-sit", p.username.String()))
})
}
-func (g *PokerGame) unSitPlayer1(gPlayers *[]*SeatedPlayer, seatedPlayer *SeatedPlayer) {
+func (g *PokerGame) unSitPlayer1(gPlayers *[]*seatedPlayer, seatedPlayer *seatedPlayer) {
ongoing := g.Ongoing
if ongoing != nil {
- if player := ongoing.getPlayer(seatedPlayer.UserID); player != nil {
- g.sendUnsitPlayerEvent(player.UserID)
+ if player := ongoing.getPlayer(seatedPlayer.userID); player != nil {
+ g.sendUnsitPlayerEvent(player.userID)
player.Folded.Store(true)
player.Cards.RWith(func(playerCards *[]playerCard) {
for _, card := range *playerCards {
@@ -523,7 +523,7 @@ func (g *PokerGame) unSitPlayer1(gPlayers *[]*SeatedPlayer, seatedPlayer *Seated
})
}
}
- (*gPlayers)[seatedPlayer.SeatIdx] = nil
+ (*gPlayers)[seatedPlayer.seatIdx] = nil
}
func generateDeck() []string {
@@ -540,10 +540,10 @@ func generateDeck() []string {
func newOngoing(g *PokerGame) *Ongoing {
players := make([]*PokerPlayer, 0)
- g.Players.RWith(func(gPlayers *[]*SeatedPlayer) {
+ g.Players.RWith(func(gPlayers *[]*seatedPlayer) {
for _, p := range *gPlayers {
if p.isEligible(g.PokerTableMinBet) {
- players = append(players, &PokerPlayer{SeatedPlayer: p})
+ players = append(players, &PokerPlayer{seatedPlayer: p})
}
}
})
@@ -571,12 +571,12 @@ func showCards(g *PokerGame, seats []Seat) {
firstCard = (*pCards)[0]
secondCard = (*pCards)[1]
})
- seatData := seats[p.SeatIdx]
- if p.SeatIdx == 0 {
+ seatData := seats[p.seatIdx]
+ if p.seatIdx == 0 {
seatData.Left -= 30
- } else if p.SeatIdx == 1 {
+ } else if p.seatIdx == 1 {
seatData.Left -= 31
- } else if p.SeatIdx == 2 {
+ } else if p.seatIdx == 2 {
seatData.Top -= 8
}
evt1 := PokerEvent{ID: "card" + itoa(firstCard.idx), Name: firstCard.name, Idx: firstCard.idx, Top: seatData.Top, Left: seatData.Left, Reveal: true}
@@ -666,7 +666,7 @@ func doUnsit(g *PokerGame, p *PokerPlayer, playerAlive *int) int {
}
func doTimeout(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip, playerAlive *int) int {
- pUsername := p.Username
+ pUsername := p.username
if p.GetBet() < *minBet {
foldPlayer(g, p)
g.newLogEvent(fmt.Sprintf("%s auto fold", pUsername))
@@ -683,11 +683,11 @@ func doTimeout(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip, playerA
func doFold(g *PokerGame, p *PokerPlayer, playerAlive *int) int {
foldPlayer(g, p)
- g.newLogEvent(fmt.Sprintf("%s fold", p.Username))
+ g.newLogEvent(fmt.Sprintf("%s fold", p.username))
*playerAlive--
if *playerAlive == 1 {
- PokerPubSub.Pub(g.roomID.UserTopic(p.UserID), ErrorMsgEvent{Message: ""})
+ PokerPubSub.Pub(g.roomID.UserTopic(p.userID), ErrorMsgEvent{Message: ""})
return breakRoundIsSettledLoop
}
return doNothing
@@ -696,16 +696,16 @@ func doFold(g *PokerGame, p *PokerPlayer, playerAlive *int) int {
func doCheck(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip) int {
if p.GetBet() < *minBet {
msg := fmt.Sprintf("Need to bet %d", *minBet-p.GetBet())
- PokerPubSub.Pub(g.roomID.UserTopic(p.UserID), ErrorMsgEvent{Message: msg})
+ PokerPubSub.Pub(g.roomID.UserTopic(p.userID), ErrorMsgEvent{Message: msg})
return continueGetPlayerEventLoop
}
- g.newLogEvent(fmt.Sprintf("%s check", p.Username))
+ g.newLogEvent(fmt.Sprintf("%s check", p.username))
return doNothing
}
func doCall(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip,
newlyAllInPlayers *[]*PokerPlayer) int {
- pUsername := p.Username
+ pUsername := p.username
bet := utils.MinInt(*minBet-p.GetBet(), p.GetCash())
if bet == 0 {
g.newLogEvent(fmt.Sprintf("%s check", pUsername))
@@ -729,7 +729,7 @@ func doAllIn(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip,
}
*minBet = utils.MaxInt(p.GetBet()+bet, *minBet)
p.doBetAndNotif(g.db, g.pokerTableID, bet, g.roomID.Topic())
- logMsg := fmt.Sprintf("%s all-in (%d)", p.Username, bet)
+ logMsg := fmt.Sprintf("%s all-in (%d)", p.username, bet)
if p.isAllIn() {
*newlyAllInPlayers = append(*newlyAllInPlayers, p)
}
@@ -740,7 +740,7 @@ func doAllIn(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip,
func doBet(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip,
newlyAllInPlayers *[]*PokerPlayer, lastRaisePlayerIdx *int, playerToPlayIdx int, evt PlayerEvent) int {
roomTopic := g.roomID.Topic()
- roomUserTopic := g.roomID.UserTopic(p.UserID)
+ roomUserTopic := g.roomID.UserTopic(p.userID)
pokerTableMinBet := g.PokerTableMinBet
bet := evt.Bet
// Ensure the player cannot bet below the table minimum bet (amount of the big blind)
@@ -764,7 +764,7 @@ func doBet(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip,
}
*minBet = utils.MaxInt(p.GetBet()+bet, *minBet)
p.doBetAndNotif(g.db, g.pokerTableID, bet, roomTopic)
- logMsg := fmt.Sprintf("%s bet %d", p.Username, bet)
+ logMsg := fmt.Sprintf("%s bet %d", p.username, bet)
if p.isAllIn() {
logMsg += " (all-in)"
*newlyAllInPlayers = append(*newlyAllInPlayers, p)
@@ -797,11 +797,11 @@ func applyAutoAction(g *PokerGame, p *PokerPlayer, minBet *database.PokerChip,
lastRaisePlayerIdx, playerAlive *int, playerToPlayIdx int, autoAction AutoAction,
autoCache map[database.UserID]AutoAction) (actionResult int) {
- pUserID := p.UserID
+ pUserID := p.userID
roomUserTopic := g.roomID.UserTopic(pUserID)
if autoAction.action > NoAction {
time.Sleep(500 * time.Millisecond)
- p.LastActionTS = time.Now()
+ p.lastActionTS = time.Now()
switch autoAction.action {
case NoAction:
case FoldAction:
@@ -825,7 +825,7 @@ func handlePlayerActionEvent(g *PokerGame, p *PokerPlayer, minBet *database.Poke
newlyAllInPlayers *[]*PokerPlayer,
lastRaisePlayerIdx, playerAlive *int, playerToPlayIdx int, evt PlayerEvent) (actionResult int) {
- p.LastActionTS = time.Now()
+ p.lastActionTS = time.Now()
if evt.Fold {
actionResult = doFold(g, p, playerAlive)
} else if evt.Check {
@@ -871,7 +871,7 @@ RoundIsSettledLoop:
playerToPlayIdx = (playerToPlayIdx + 1) % len(ongoing.Players)
p := ongoing.Players[playerToPlayIdx]
p.countChancesToAction++
- pUserID := p.UserID
+ pUserID := p.userID
roomUserTopic := roomID.UserTopic(pUserID)
if playerToPlayIdx == lastRaisePlayerIdx {
@@ -884,7 +884,7 @@ RoundIsSettledLoop:
continue AllPlayersLoop
}
- setWaitTurn(g, p.SeatIdx)
+ setWaitTurn(g, p.seatIdx)
PokerPubSub.Pub(roomUserTopic, PokerYourTurnEvent{})
// Maximum time allowed for the player to send his action
@@ -1044,12 +1044,12 @@ func dealPlayersCards(g *PokerGame, seats []Seat, idx *int) {
var card string
for cardIdx := 1; cardIdx <= NbCardsPerPlayer; cardIdx++ {
for _, p := range ongoing.Players {
- pUserID := p.UserID
+ pUserID := p.userID
if !p.canBet() {
continue
}
roomUserTopic := roomID.UserTopic(pUserID)
- seatData := seats[p.SeatIdx]
+ seatData := seats[p.seatIdx]
time.Sleep(time.Second)
card = ongoing.Deck[*idx]
*idx++
@@ -1060,12 +1060,12 @@ func dealPlayersCards(g *PokerGame, seats []Seat, idx *int) {
top = seatData.Top2
}
- seatData1 := seats[p.SeatIdx]
- if p.SeatIdx == 0 {
+ seatData1 := seats[p.seatIdx]
+ if p.seatIdx == 0 {
seatData1.Left -= 30
- } else if p.SeatIdx == 1 {
+ } else if p.seatIdx == 1 {
seatData1.Left -= 31
- } else if p.SeatIdx == 2 {
+ } else if p.seatIdx == 2 {
seatData1.Top -= 8
}
if cardIdx == 2 {
@@ -1218,26 +1218,26 @@ func applyBigBlindBet(g *PokerGame, bigBlindBet database.PokerChip, bbIdx int) {
func applyBlindBet(g *PokerGame, playerIdx int, bet database.PokerChip, name string) {
p := g.Ongoing.Players[playerIdx]
p.doBetAndNotif(g.db, g.pokerTableID, bet, g.roomID.Topic())
- g.newLogEvent(fmt.Sprintf("%s %s %d", p.Username, name, bet))
+ g.newLogEvent(fmt.Sprintf("%s %s %d", p.username, name, bet))
}
func autoUnsitInactivePlayers(g *PokerGame) {
ongoing := g.Ongoing
pokerTableMinBet := g.PokerTableMinBet
roomTopic := g.roomID.Topic()
- g.Players.With(func(gPlayers *[]*SeatedPlayer) {
+ g.Players.With(func(gPlayers *[]*seatedPlayer) {
for _, p := range *gPlayers {
if playerShouldBeBooted(p, ongoing, pokerTableMinBet) {
g.unSitPlayer1(gPlayers, p)
PokerPubSub.Pub(roomTopic, PokerSeatLeftEvent{})
- g.newLogEvent(fmt.Sprintf("%s auto un-sit", p.Username))
+ g.newLogEvent(fmt.Sprintf("%s auto un-sit", p.username))
}
}
})
}
// Returns either or not a seated player should be booted out of the table.
-func playerShouldBeBooted(p *SeatedPlayer, ongoing *Ongoing, pokerTableMinBet database.PokerChip) (playerShallBeBooted bool) {
+func playerShouldBeBooted(p *seatedPlayer, ongoing *Ongoing, pokerTableMinBet database.PokerChip) (playerShallBeBooted bool) {
if p == nil {
return false
}
@@ -1245,10 +1245,10 @@ func playerShouldBeBooted(p *SeatedPlayer, ongoing *Ongoing, pokerTableMinBet da
if !pIsEligible {
return true
}
- if p.LastActionTS.Before(ongoing.CreatedAt) {
+ if p.lastActionTS.Before(ongoing.CreatedAt) {
// If the player was playing the game, must be booted if he had the chance to make actions and did not.
// If the player was not playing the game, must be booted if he's not eligible to play the next one.
- op := ongoing.getPlayer(p.UserID)
+ op := ongoing.getPlayer(p.userID)
playerShallBeBooted = (op != nil && op.countChancesToAction > 0) ||
(op == nil && !pIsEligible)
}
@@ -1276,8 +1276,8 @@ func applyGains(g *PokerGame, playersGain []PlayerGain, mainPot, rake database.P
}
for _, el := range playersGain {
- g.newLogEvent(fmt.Sprintf("Winner #%d: %s %s -> %d", el.Group, el.Player.Username, el.HandStr, el.Gain))
- winnersStr += el.Player.Username.String() + " "
+ g.newLogEvent(fmt.Sprintf("Winner #%d: %s %s -> %d", el.Group, el.Player.username, el.HandStr, el.Gain))
+ winnersStr += el.Player.username.String() + " "
el.Player.gain(tx, pokerTableID, el.Gain)
}
for _, op := range ongoing.Players {
@@ -1451,7 +1451,7 @@ func (g *PokerGame) Deal(roomID RoomID, userID database.UserID) {
}
func (g *PokerGame) countEligibleSeated() (count int) {
- g.Players.RWith(func(gPlayers *[]*SeatedPlayer) {
+ g.Players.RWith(func(gPlayers *[]*seatedPlayer) {
for _, p := range *gPlayers {
if p.isEligible(g.PokerTableMinBet) {
count++
@@ -1462,7 +1462,7 @@ func (g *PokerGame) countEligibleSeated() (count int) {
}
func (g *PokerGame) CountSeated() (count int) {
- g.Players.RWith(func(gPlayers *[]*SeatedPlayer) {
+ g.Players.RWith(func(gPlayers *[]*seatedPlayer) {
for _, p := range *gPlayers {
if p != nil {
count++
@@ -1761,7 +1761,7 @@ func buildActionsDiv(roomID RoomID) (html string) {
}
func buildSeatsHtml(g *PokerGame, authUser *database.User) (html string) {
- g.Players.RWith(func(gPlayers *[]*SeatedPlayer) {
+ g.Players.RWith(func(gPlayers *[]*seatedPlayer) {
for i := range *gPlayers {
html += `<div id="seat` + itoa(i+1) + `Pot" class="seatPot"></div>`
}
@@ -1783,7 +1783,7 @@ func drawSeatsStyle(authUser *database.User, g *PokerGame) string {
ongoing := g.Ongoing
html := "<style>"
seated := g.isSeated(authUser.ID)
- g.Players.RWith(func(players *[]*SeatedPlayer) {
+ g.Players.RWith(func(players *[]*seatedPlayer) {
for i, p := range *players {
if p != nil || seated {
html += `.takeSeat` + itoa(i+1) + ` { display: none; }`
@@ -1791,8 +1791,8 @@ func drawSeatsStyle(authUser *database.User, g *PokerGame) string {
html += `.takeSeat` + itoa(i+1) + ` { display: block; }`
}
if p != nil {
- pUserID := p.UserID
- pUsername := p.Username
+ pUserID := p.userID
+ pUsername := p.username
if pUserID == authUser.ID {
html += `#seat` + itoa(i+1) + ` { border: 2px solid #0d1b8f; }`
}
@@ -1851,7 +1851,7 @@ func drawGameStartedEvent(evt GameStartedEvent, authUser *database.User) (html s
func drawGameIsDoneHtml(g *PokerGame, evt GameIsDoneEvent) (html string) {
html += `<style>`
- g.Players.RWith(func(gPlayers *[]*SeatedPlayer) {
+ g.Players.RWith(func(gPlayers *[]*seatedPlayer) {
for i, p := range *gPlayers {
if p != nil {
html += `#seat` + itoa(i+1) + `_cash:before { content: "` + itoa2(p.GetCash()) + `"; }`
diff --git a/pkg/web/handlers/poker/poker_test.go b/pkg/web/handlers/poker/poker_test.go
@@ -12,18 +12,18 @@ 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}},
}
sortGameResults(arr)
- assert.Equal(t, database.Username("p1"), arr[0].players[0].Username)
- assert.Equal(t, database.Username("p2"), arr[0].players[1].Username)
- assert.Equal(t, database.Username("p3"), arr[0].players[2].Username)
- assert.Equal(t, database.Username("p4"), arr[0].players[3].Username)
+ assert.Equal(t, database.Username("p1"), arr[0].players[0].username)
+ assert.Equal(t, database.Username("p2"), arr[0].players[1].username)
+ assert.Equal(t, database.Username("p3"), arr[0].players[2].username)
+ assert.Equal(t, database.Username("p4"), arr[0].players[3].username)
}
func Test_processPot(t *testing.T) {
@@ -31,10 +31,10 @@ func Test_processPot(t *testing.T) {
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}},
}
@@ -45,10 +45,10 @@ 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}},
}
@@ -59,8 +59,8 @@ 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}},
@@ -68,13 +68,13 @@ func Test_processPot(t *testing.T) {
sortGameResults(arr)
res, _ = processPot(arr, 1000, 20, false, 2)
assert.Equal(t, 1, len(res))
- assert.Equal(t, database.Username("p2"), res[0].Player.Username)
+ 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}},
@@ -87,8 +87,8 @@ 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}},
@@ -110,20 +110,20 @@ func Test_isRoundSettled(t *testing.T) {
want bool
}{
{"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},
+ {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{
- {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},
+ {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{
- {Bet: n(10), SeatedPlayer: &SeatedPlayer{Cash: n(0)}},
- {Bet: n(200), SeatedPlayer: &SeatedPlayer{Cash: n(0)}},
- {Bet: n(30), SeatedPlayer: &SeatedPlayer{Cash: n(1)}},
- {Bet: n(30), SeatedPlayer: &SeatedPlayer{Cash: n(1)}}}}, false},
+ {Bet: n(10), seatedPlayer: &seatedPlayer{cash: n(0)}},
+ {Bet: n(200), seatedPlayer: &seatedPlayer{cash: n(0)}},
+ {Bet: n(30), seatedPlayer: &seatedPlayer{cash: n(1)}},
+ {Bet: n(30), seatedPlayer: &seatedPlayer{cash: n(1)}}}}, false},
// TODO: Add test cases.
}
for _, tt := range tests {