dkforest

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

commit b234b2b594f569c7de2d27192cade3570385ed9b
parent 789cd1562e4f9b02ef822004a3c7ed5ace83d414
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue,  5 Dec 2023 20:45:58 -0500

cleanup

Diffstat:
Mpkg/web/handlers/poker.go | 31+++++++++++++++----------------
1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go @@ -42,7 +42,7 @@ func (p *Poker) GetOrCreateGame(roomID string) *PokerGame { if !found { g = &PokerGame{ PlayersEventCh: make(chan PlayerEvent), - Players: make([]PokerStandingPlayer, NbPlayers), + Players: make([]*PokerStandingPlayer, NbPlayers), } p.games[roomID] = g } @@ -98,7 +98,7 @@ type PlayerCard struct { type PokerGame struct { sync.Mutex PlayersEventCh chan PlayerEvent - Players []PokerStandingPlayer + Players []*PokerStandingPlayer Ongoing *Ongoing DealerIdx int IsGameDone bool @@ -151,11 +151,10 @@ func isRoundSettled(players []*PokerPlayer) bool { } func (g *PokerGame) SitPlayer(authUser *database.User, pos int) error { - if g.Players[pos].Username != "" { + if g.Players[pos] != nil { return errors.New("seat already taken") } - g.Players[pos].Username = authUser.Username.String() - g.Players[pos].Cash = 1000 + g.Players[pos] = &PokerStandingPlayer{Username: authUser.Username.String(), Cash: 1000} return nil } @@ -187,7 +186,7 @@ func (g *PokerGame) Deal(roomID string) { players := make([]*PokerPlayer, NbPlayers) for idx := range g.Players { var player *PokerPlayer - if g.Players[idx].Username != "" { + if g.Players[idx] != nil { player = &PokerPlayer{Username: g.Players[idx].Username, Cash: g.Players[idx].Cash} } players[idx] = player @@ -473,7 +472,7 @@ func (g *PokerGame) Deal(roomID string) { // Sync "ongoing players" with "room players" objects for idx := range g.Players { - if g.Ongoing.Players[idx] != nil { + if g.Ongoing.Players[idx] != nil && g.Players[idx] != nil { g.Players[idx].Cash = g.Ongoing.Players[idx].Cash } } @@ -490,7 +489,7 @@ func (g *PokerGame) Deal(roomID string) { func (g *PokerGame) CountSeated() (count int) { for _, p := range g.Players { - if p.Username != "" { + if p != nil { count++ } } @@ -501,7 +500,7 @@ func (g *PokerGame) IsSeated(player string) (bool, int) { isSeated := false pos := 0 for idx, p := range g.Players { - if p.Username == player { + if p != nil && p.Username == player { isSeated = true pos = idx + 1 break @@ -659,8 +658,8 @@ func PokerUnSitHandler(c echo.Context) error { var idx int found := false for i, p := range g.Players { - if p.Username == authUser.Username.String() { - g.Players[i].Username = "" + if p != nil && p.Username == authUser.Username.String() { + g.Players[i] = nil idx = i found = true break @@ -753,7 +752,7 @@ func buildTakeSeatHtml(authUser *database.User, g *PokerGame, roomID string) str seated, _ := g.IsSeated(authUser.Username.String()) for i, p := range g.Players { takeSeatBtns += `<iframe src="/poker/` + roomID + `/sit/` + itoa(i+1) + `" class="takeSeat takeSeat` + itoa(i+1) + `"></iframe>` - if p.Username != "" || seated { + if p != nil || seated { takeSeatBtns += `<style>.takeSeat` + itoa(i+1) + ` { display: none; }</style>` } } @@ -793,7 +792,7 @@ func buildSeatsHtml(g *PokerGame) string { for i, p := range g.Players { seats += `<div id="seat` + itoa(i+1) + `"></div>` seats += `<div id="seat` + itoa(i+1) + `_cash"></div>` - if p.Username != "" { + if p != nil { seats += `<style>#seat` + itoa(i+1) + `:before { content: "` + p.Username + `"; }</style>` seats += `<style>#seat` + itoa(i+1) + `_cash:before { content: "` + itoa(p.Cash) + `"; }</style>` } @@ -822,7 +821,7 @@ func drawGameStartedEvent(evt GameStartedEvent) string { func drawGameIsDoneHtml(g *PokerGame, evt GameIsDoneEvent) (html string) { html += `<style>#deckStr:before { content: "` + evt.DeckStr + `"; }</style>` for i, p := range g.Players { - if p.Username != "" { + if p != nil { html += `<style>#seat` + itoa(i+1) + `_cash:before { content: "` + itoa(p.Cash) + `"; }</style>` } } @@ -867,12 +866,12 @@ func drawSeatsHtml(authUser *database.User, g *PokerGame) string { html := "<style>" seated, _ := g.IsSeated(authUser.Username.String()) for i, p := range g.Players { - if p.Username != "" || seated { + if p != nil || seated { html += `.takeSeat` + itoa(i+1) + ` { display: none; }` } else { html += `.takeSeat` + itoa(i+1) + ` { display: block; }` } - if p.Username != "" { + if p != nil { html += `#seat` + itoa(i+1) + `:before { content: "` + p.Username + `"; }` html += `#seat` + itoa(i+1) + `_cash:before { content: "` + itoa(p.Cash) + `"; }` } else {