commit c6417d13cad00e56b9aabdcc08999ba86bf76df6
parent fa4fbaf803f12f50ae4597b4ca16f88263311b85
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 4 Dec 2023 15:46:34 -0500
stuff
Diffstat:
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -773,7 +773,7 @@ func (p *Poker) GetOrCreateGame(roomID string) *PokerGame {
g, found := p.Games[roomID]
if !found {
g = &PokerGame{
- Players: [10]string{},
+ Players: make([]string, 10),
}
p.Games[roomID] = g
}
@@ -783,7 +783,20 @@ func (p *Poker) GetOrCreateGame(roomID string) *PokerGame {
var PokerInstance *Poker = NewPoker()
type PokerGame struct {
- Players [10]string
+ Players []string
+}
+
+func (g PokerGame) IsSeated(player string) (bool, int) {
+ isSeated := false
+ pos := 0
+ for idx, p := range g.Players {
+ if p == player {
+ isSeated = true
+ pos = idx + 1
+ break
+ }
+ }
+ return isSeated, pos
}
type PokerEvent struct {
@@ -1159,14 +1172,7 @@ Loop:
}
}
- isSeated := false
- for _, p := range g.Players {
- if p == authUser.Username.String() {
- isSeated = true
- break
- }
- }
- if !isSeated {
+ if seated, _ := g.IsSeated(authUser.Username.String()); !seated {
send(`<style>.takeSeat` + strconv.Itoa(idx+1) + ` { display: block; }</style>`)
}
for i, p := range g.Players {
@@ -1180,14 +1186,7 @@ Loop:
} else if _, ok := payload.(PokerSeatTakenEvent); ok {
- isSeated := false
- for _, p := range g.Players {
- if p == authUser.Username.String() {
- isSeated = true
- break
- }
- }
- if isSeated {
+ if seated, _ := g.IsSeated(authUser.Username.String()); seated {
send(`<style>.takeSeat { display: none; }</style>`)
}