dkforest

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

commit 68cec7b6fab4022d30bf9abe9a2b8bc4dae503ff
parent f07485c8332697d50e002cb14af90efc95fe57be
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue, 12 Dec 2023 17:00:30 -0500

cleanup

Diffstat:
Mpkg/web/handlers/poker/events.go | 6++++--
Mpkg/web/handlers/poker/poker.go | 36++++++++++++++++++------------------
2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/pkg/web/handlers/poker/events.go b/pkg/web/handlers/poker/events.go @@ -1,5 +1,7 @@ package poker +import "dkforest/pkg/database" + type PokerEvent struct { ID string Idx int @@ -8,7 +10,7 @@ type PokerEvent struct { Left int Reveal bool Angle string - Player string + Player database.Username } type GameStartedEvent struct { @@ -25,7 +27,7 @@ type ResetCardsEvent struct { type PlayerBetEvent struct { PlayerSeatIdx int - Player string + Player database.Username Bet int TotalBet int Cash int diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go @@ -71,7 +71,7 @@ func (p *Poker) GetGame(roomID string) *PokerGame { } type PlayerEvent struct { - Player string + Player database.Username Call bool Check bool Fold bool @@ -98,7 +98,7 @@ type Ongoing struct { type PokerStandingPlayer struct { UserID database.UserID - Username string + Username database.Username Cash int LastActionTS time.Time } @@ -291,7 +291,7 @@ func (g *Ongoing) CountAlivePlayers() (playerAlive int) { return } -func (g *Ongoing) GetPlayer(player string) *PokerPlayer { +func (g *Ongoing) GetPlayer(player database.Username) *PokerPlayer { for _, p := range g.Players { if p.Username == player { return p @@ -342,7 +342,7 @@ func (g *PokerGame) incrDealerIdx() { func (g *PokerGame) UnSitPlayer(db *database.DkfDB, roomID string, authUser *database.User, pokerTable database.PokerTable) error { if g.Ongoing != nil { - if p := g.Ongoing.GetPlayer(authUser.Username.String()); p != nil { + if p := g.Ongoing.GetPlayer(authUser.Username); p != nil { p.Unsit.Store(true) } } @@ -350,7 +350,7 @@ func (g *PokerGame) UnSitPlayer(db *database.DkfDB, roomID string, authUser *dat g.PlayersMtx.RLock() defer g.PlayersMtx.RUnlock() for idx, p := range g.Players { - if p != nil && p.Username == authUser.Username.String() { + if p != nil && p.Username == authUser.Username { return g.UnSitPlayer1(db, roomID, p, idx, pokerTable) } } @@ -360,7 +360,7 @@ func (g *PokerGame) UnSitPlayer(db *database.DkfDB, roomID string, authUser *dat func (g *PokerGame) UnSitPlayer1(db *database.DkfDB, roomID string, player *PokerStandingPlayer, idx int, pokerTable database.PokerTable) error { roomTopic := "room_" + roomID - user, err := db.GetUserByUsername(database.Username(player.Username)) + user, err := db.GetUserByUsername(player.Username) if err != nil { return err } @@ -406,14 +406,14 @@ func (g *PokerGame) SitPlayer(authUser *database.User, pos int, chips int64) err g.PlayersMtx.Lock() defer g.PlayersMtx.Unlock() for _, p := range g.Players { - if p != nil && p.Username == authUser.Username.String() { + if p != nil && p.Username == authUser.Username { return errors.New("player already seated") } } if g.Players[pos] != nil { return errors.New("seat already taken") } - g.Players[pos] = &PokerStandingPlayer{UserID: authUser.ID, Username: authUser.Username.String(), Cash: int(chips), LastActionTS: time.Now()} + g.Players[pos] = &PokerStandingPlayer{UserID: authUser.ID, Username: authUser.Username, Cash: int(chips), LastActionTS: time.Now()} return nil } @@ -528,7 +528,7 @@ OUTER: for { // Repeat until we get an event from the player we're interested in var evt PlayerEvent - roomUserTopic := "room_" + roomID + "_" + p.Username + roomUserTopic := "room_" + roomID + "_" + p.Username.String() select { case evt = <-g.PlayersEventCh: @@ -722,7 +722,7 @@ func dealPlayersCards(g *PokerGame, roomTopic string, seats []Seat, idx *int) { if p.isAllIn() { continue } - roomUserTopic := roomTopic + "_" + p.Username + roomUserTopic := roomTopic + "_" + p.Username.String() seatData := seats[p.SeatIdx] time.Sleep(time.Second) if p.Folded.Load() { @@ -902,7 +902,7 @@ END: account.Amount += int64(el.Gain) account.AmountBet = 0 account.DoSave(tx) - winnersStr += el.Player.Username + " " + winnersStr += el.Player.Username.String() + " " el.Player.Cash += el.Gain } for _, p := range g.Ongoing.Players { @@ -1086,7 +1086,7 @@ func (g *PokerGame) CountSeated() (count int) { return } -func (g *PokerGame) IsSeated(player string) (bool, int) { +func (g *PokerGame) IsSeated(player database.Username) (bool, int) { g.PlayersMtx.RLock() defer g.PlayersMtx.RUnlock() isSeated := false @@ -1169,7 +1169,7 @@ func PokerCallHandler(c echo.Context) error { } if c.Request().Method == http.MethodPost { select { - case g.PlayersEventCh <- PlayerEvent{Player: authUser.Username.String(), Call: true}: + case g.PlayersEventCh <- PlayerEvent{Player: authUser.Username, Call: true}: default: } } @@ -1185,7 +1185,7 @@ func PokerFoldHandler(c echo.Context) error { } if c.Request().Method == http.MethodPost { select { - case g.PlayersEventCh <- PlayerEvent{Player: authUser.Username.String(), Fold: true}: + case g.PlayersEventCh <- PlayerEvent{Player: authUser.Username, Fold: true}: default: } } @@ -1394,7 +1394,7 @@ func buildBaseHtml(g *PokerGame, authUser *database.User, roomID string) (html s if evt.Player == "" { html += getPokerEventHtml(evt, "0s") } - if evt.Player == authUser.Username.String() { + if evt.Player == authUser.Username { html += getPokerEventHtml(evt, "0s") } } @@ -1544,7 +1544,7 @@ func buildSeatsHtml(g *PokerGame, authUser *database.User, roomID string) (html func drawSeatsStyle(authUser *database.User, g *PokerGame) string { html := "<style>" - seated, _ := g.IsSeated(authUser.Username.String()) + seated, _ := g.IsSeated(authUser.Username) g.PlayersMtx.RLock() defer g.PlayersMtx.RUnlock() for i, p := range g.Players { @@ -1554,10 +1554,10 @@ func drawSeatsStyle(authUser *database.User, g *PokerGame) string { html += `.takeSeat` + itoa(i+1) + ` { display: block; }` } if p != nil { - if p.Username == authUser.Username.String() { + if p.Username == authUser.Username { html += `#seat` + itoa(i+1) + ` { border: 2px solid #0d1b8f; }` } - html += `#seat` + itoa(i+1) + ` .inner:before { content: "` + p.Username + `"; }` + html += `#seat` + itoa(i+1) + ` .inner:before { content: "` + p.Username.String() + `"; }` html += `#seat` + itoa(i+1) + `_cash:before { content: "` + itoa(p.getDisplayCash(g)) + `"; }` if g.Ongoing != nil { if op := g.Ongoing.GetPlayer(p.Username); op != nil && op.Bet > 0 {