dkforest

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

commit f9d3c45e590816bbaa00903f33ede187a0559d7a
parent 28ada4d01e6716510166b50077bb7b6977f193d2
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue, 19 Dec 2023 00:12:04 -0500

refactor

Diffstat:
Mpkg/web/handlers/interceptors/werewolf.go | 8++++----
Mpkg/web/handlers/poker/poker.go | 54+++++++++++++++++++++++++++---------------------------
Mpkg/web/handlers/poker/poker_test.go | 22+++++++++++-----------
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}}, }