commit f9d3c45e590816bbaa00903f33ede187a0559d7a
parent 28ada4d01e6716510166b50077bb7b6977f193d2
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 19 Dec 2023 00:12:04 -0500
refactor
Diffstat:
3 files changed, 42 insertions(+), 42 deletions(-)
diff --git a/pkg/web/handlers/interceptors/werewolf.go b/pkg/web/handlers/interceptors/werewolf.go
@@ -396,8 +396,8 @@ func (b *Werewolf) StartGame(db *database.DkfDB) {
}
}
b.state = DayState
- b.Narrate("Players: "+b.alivePlayersStr(), nil, nil)
- b.Narrate("Day 1: It is day time. Players can now introduce themselves. (5min)", nil, nil)
+ b.Narrate("players: "+b.alivePlayersStr(), nil, nil)
+ b.Narrate("Day 1: It is day time. players can now introduce themselves. (5min)", nil, nil)
select {
case <-time.After(5 * time.Minute):
@@ -426,7 +426,7 @@ func (b *Werewolf) StartGame(db *database.DkfDB) {
b.kill(db, database.Username(playerNameToKill))
}
- b.Narrate("Players still alive: "+b.alivePlayersStr(), nil, nil)
+ b.Narrate("players still alive: "+b.alivePlayersStr(), nil, nil)
if b.werewolfSet.Empty() {
b.Narrate("Townspeople win", nil, nil)
break
@@ -456,7 +456,7 @@ func (b *Werewolf) StartGame(db *database.DkfDB) {
b.kill(db, database.Username(killName))
}
- b.Narrate("Players still alive: "+b.alivePlayersStr(), nil, nil)
+ b.Narrate("players still alive: "+b.alivePlayersStr(), nil, nil)
if b.werewolfSet.Empty() {
b.Narrate("Townspeople win", nil, nil)
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -220,9 +220,9 @@ type PokerGame struct {
IsGameStarted atomic.Bool
}
-type GameResult struct {
- HandScore int32
- Players []*PokerPlayer
+type gameResult struct {
+ handScore int32
+ players []*PokerPlayer
}
func (g *PokerGame) Check(userID database.UserID) {
@@ -268,7 +268,7 @@ func (g *Ongoing) setMainPot(v database.PokerChip) {
g.mainPot.Store(uint64(v))
}
-func (g *Ongoing) computeWinners() (winner []GameResult) {
+func (g *Ongoing) computeWinners() (winner []gameResult) {
countAlive := 0
var lastAlive *PokerPlayer
for _, p := range g.Players {
@@ -278,9 +278,9 @@ func (g *Ongoing) computeWinners() (winner []GameResult) {
}
}
if countAlive == 0 {
- return []GameResult{}
+ return []gameResult{}
} else if countAlive == 1 {
- return []GameResult{{-1, []*PokerPlayer{lastAlive}}}
+ return []gameResult{{-1, []*PokerPlayer{lastAlive}}}
}
m := make(map[int32][]*PokerPlayer)
@@ -297,7 +297,7 @@ func (g *Ongoing) computeWinners() (winner []GameResult) {
communityCards := g.communityCards
if len(communityCards) != 5 {
- return []GameResult{}
+ return []gameResult{}
}
hand := []poker.Card{
poker.NewCard(cardToPokerCard(communityCards[0])),
@@ -315,9 +315,9 @@ func (g *Ongoing) computeWinners() (winner []GameResult) {
m[handEvaluation] = append(m[handEvaluation], p)
}
- arr := make([]GameResult, 0)
+ arr := make([]gameResult, 0)
for k, v := range m {
- arr = append(arr, GameResult{HandScore: k, Players: v})
+ arr = append(arr, gameResult{handScore: k, players: v})
}
sortGameResults(arr)
@@ -325,16 +325,16 @@ func (g *Ongoing) computeWinners() (winner []GameResult) {
}
// Sort players by cash remaining (to have all-ins first), then by GameBet.
-func sortGameResults(arr []GameResult) {
+func sortGameResults(arr []gameResult) {
for idx := range arr {
- sort.Slice(arr[idx].Players, func(i, j int) bool {
- if arr[idx].Players[i].GetCash() == arr[idx].Players[j].GetCash() {
- return arr[idx].Players[i].GameBet < arr[idx].Players[j].GameBet
+ sort.Slice(arr[idx].players, func(i, j int) bool {
+ if arr[idx].players[i].GetCash() == arr[idx].players[j].GetCash() {
+ return arr[idx].players[i].GameBet < arr[idx].players[j].GameBet
}
- return arr[idx].Players[i].GetCash() < arr[idx].Players[j].GetCash()
+ return arr[idx].players[i].GetCash() < arr[idx].players[j].GetCash()
})
}
- sort.Slice(arr, func(i, j int) bool { return arr[i].HandScore < arr[j].HandScore })
+ sort.Slice(arr, func(i, j int) bool { return arr[i].handScore < arr[j].handScore })
}
func (g *Ongoing) addEvent(evts ...PokerEvent) {
@@ -1294,7 +1294,7 @@ func calculateRake(mainPot, pokerTableMinBet database.PokerChip, nbPlayers int)
return rake
}
-func processPot(winners []GameResult, mainPot, pokerTableMinBet database.PokerChip, collectRake bool, nbPlayers int) (res []PlayerGain, rake database.PokerChip) {
+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 {
return PlayerGain{Player: player, Gain: gain, Group: groupIdx, HandStr: handStr}
}
@@ -1309,9 +1309,9 @@ func processPot(winners []GameResult, mainPot, pokerTableMinBet database.PokerCh
mainPot -= rake
}
- if len(winners) == 1 && len(winners[0].Players) == 1 {
+ if len(winners) == 1 && len(winners[0].players) == 1 {
// Everyone fold but 1 player
- player := winners[0].Players[0]
+ player := winners[0].players[0]
piece := mainPot
res = append(res, newPlayerGain(player, piece, 0, "Only player alive"))
mainPot -= piece
@@ -1321,27 +1321,27 @@ func processPot(winners []GameResult, mainPot, pokerTableMinBet database.PokerCh
if mainPot == 0 {
break
}
- handStr := poker.RankString(group.HandScore)
+ handStr := poker.RankString(group.handScore)
isDone = true
- if len(group.Players) == 1 && group.Players[0].GetCash() > 0 {
+ if len(group.players) == 1 && group.players[0].GetCash() > 0 {
// Only 1 player win and is not all-in
- player := group.Players[0]
+ player := group.players[0]
piece := mainPot
res = append(res, newPlayerGain(player, piece, groupIdx, handStr))
mainPot -= piece
- } else if len(group.Players) == 1 && group.Players[0].isAllIn() {
+ } else if len(group.players) == 1 && group.players[0].isAllIn() {
// Only 1 player win but is all-in
- player := group.Players[0]
+ player := group.players[0]
piece := utils.MinInt(player.AllInMaxGain, mainPot)
res = append(res, newPlayerGain(player, piece, groupIdx, handStr))
mainPot -= piece
isDone = false
- } else if len(group.Players) > 1 {
+ } else if len(group.players) > 1 {
// Multiple winners, split pot
- nbPlayersInGroup := len(group.Players)
+ nbPlayersInGroup := len(group.players)
expectedSplit := mainPot / database.PokerChip(nbPlayersInGroup)
allInCount := 0
- for _, p := range group.Players {
+ for _, p := range group.players {
if p.isAllIn() {
allInCount++
maxGain := p.AllInMaxGain
@@ -1362,7 +1362,7 @@ func processPot(winners []GameResult, mainPot, pokerTableMinBet database.PokerCh
continue
}
piece := mainPot / database.PokerChip(nbPlayersInGroup-allInCount)
- for _, p := range group.Players {
+ for _, p := range group.players {
if p.GetCash() > 0 {
piece = utils.MinInt(piece, mainPot)
res = append(res, newPlayerGain(p, piece, groupIdx, handStr))
diff --git a/pkg/web/handlers/poker/poker_test.go b/pkg/web/handlers/poker/poker_test.go
@@ -16,26 +16,26 @@ func Test_sortGameResults(t *testing.T) {
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{
+ 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) {
var p1, p2, p3, p4 *PokerPlayer
- var arr []GameResult
+ 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}
- arr = []GameResult{
+ arr = []gameResult{
{1, []*PokerPlayer{p2, p4, p1, p3}},
}
sortGameResults(arr)
@@ -49,7 +49,7 @@ func Test_processPot(t *testing.T) {
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{
+ arr = []gameResult{
{1, []*PokerPlayer{p2, p4, p1, p3}},
}
sortGameResults(arr)
@@ -61,7 +61,7 @@ func Test_processPot(t *testing.T) {
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{
+ arr = []gameResult{
{1, []*PokerPlayer{p2}},
{2, []*PokerPlayer{p1}},
}
@@ -76,7 +76,7 @@ func Test_processPot(t *testing.T) {
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{
+ arr = []gameResult{
{1, []*PokerPlayer{p1, p2, p3}},
{2, []*PokerPlayer{p4}},
}
@@ -89,7 +89,7 @@ func Test_processPot(t *testing.T) {
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{
+ arr = []gameResult{
{1, []*PokerPlayer{p2}},
{2, []*PokerPlayer{p1}},
}