commit f39ef8c13d7e37ceae7918dfa694eae2ad65ccab
parent 2d2d9788a6791f2b32314a042941cfa2f1b1acd4
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 4 Dec 2023 22:36:53 -0500
display own cards
Diffstat:
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go
@@ -61,6 +61,7 @@ type Ongoing struct {
type PokerPlayer struct {
Username string
Bet int
+ Cards []string
}
type PokerGame struct {
@@ -196,6 +197,7 @@ func (g *PokerGame) Deal(roomID string) {
Angle: d.Angle,
Burn: true,
}
+ g.Ongoing.Players[i].Cards = append(g.Ongoing.Players[i].Cards, card)
PokerPubSub.Pub(myTopic, evt)
PokerPubSub.Pub(myTopic+"_"+p.Username, YourCardEvent{Idx: j, Name: card})
g.Ongoing.Events = append(g.Ongoing.Events, evt)
@@ -438,6 +440,28 @@ func PokerSitHandler(c echo.Context) error {
return c.HTML(http.StatusOK, `<form method="post"><button>SIT</button></form>`)
}
+func buildYourCardsHtml(authUser *database.User, g *PokerGame) string {
+ html := `<div style="position: absolute; top: 500px; left: 200px;"><div id="yourCard1"></div><div id="yourCard2"></div></div>`
+ if g.Ongoing != nil {
+ cards := make([]string, 0)
+ for _, p := range g.Ongoing.Players {
+ if p.Username == authUser.Username.String() {
+ cards = p.Cards
+ break
+ }
+ }
+ html += `<style>`
+ if len(cards) >= 1 {
+ html += `#yourCard1:before { content: "` + cards[0] + `"; }`
+ }
+ if len(cards) == 2 {
+ html += `#yourCard2:before { content: "` + cards[1] + `"; }`
+ }
+ html += `</style>`
+ }
+ return html
+}
+
func buildTakeSeatHtml(authUser *database.User, g *PokerGame, roomID string) string {
takeSeatBtns := ""
seated, _ := g.IsSeated(authUser.Username.String())
@@ -629,7 +653,7 @@ body {
<iframe src="/poker/` + roomID + `/fold" id="foldBtn"></iframe>
</div>`
send(turnAction)
- send(`<div style="position: absolute; top: 500px; left: 200px;"><div id="yourCard1"></div><div id="yourCard2"></div></div>`)
+ send(buildYourCardsHtml(authUser, g))
actions := `<iframe src="/poker/` + roomID + `/deal" id="dealBtn"></iframe>`
actions += `<iframe src="/poker/` + roomID + `/unsit" id="unSitBtn"></iframe>`
send(actions)