aboutsummaryrefslogtreecommitdiff
path: root/internal/game/render_roulette.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-10-01 19:30:38 -0400
committerhistoria <[not public]>2026-10-01 19:30:38 -0400
commit6d9908b29c8187196d23b126b1165c7e0bd0fc76 (patch)
treeddbc02357ed92646b801687b90b1a06c71a15d71 /internal/game/render_roulette.go
parent8a94f21bd47c0a00bc415395232dba22fa958837 (diff)
downloadthehouseoficarus-6d9908b29c8187196d23b126b1165c7e0bd0fc76.tar.gz
fix: casino pai gow sorting, universal unbet, table/rules split, remove solo timers
Diffstat (limited to 'internal/game/render_roulette.go')
-rw-r--r--internal/game/render_roulette.go46
1 files changed, 0 insertions, 46 deletions
diff --git a/internal/game/render_roulette.go b/internal/game/render_roulette.go
index 9ffd355..218a91f 100644
--- a/internal/game/render_roulette.go
+++ b/internal/game/render_roulette.go
@@ -9,7 +9,6 @@ import (
"thehouseoficarus/internal/casino"
"thehouseoficarus/internal/color"
- "thehouseoficarus/internal/net"
)
// Roulette art is rendered per recipient, just like cards. Never embed ANSI
@@ -595,48 +594,3 @@ func renderRouletteResult(pockets [5]string, mode string, unicode bool, size int
}
return strings.Join(lines, "\n")
}
-
-func (g *Game) renderCasinoRules(sess *net.Session, cfg casino.TableConfig) string {
- if cfg.Game == casino.GameBlackjack {
- // The whole rule card is a rendered felt.
- return g.renderCasinoSnapshot(sess, &casino.BlackjackRulesView{Config: cfg})
- }
- if cfg.Game == casino.GamePaiGow {
- return cfg.RulesText() + "\n" + renderPaiGowFelt(cfg, g.colorMode(sess), sess.Player.OptionBool("unicode"))
- }
- if cfg.Game == casino.GameBaccarat {
- return g.renderCasinoSnapshot(sess, &casino.BaccaratRulesView{Config: cfg})
- }
- rules := g.colorize(sess, "casino_action", cfg.RulesText())
- if cfg.Game == casino.GameCraps {
- snap := &casino.CrapsSnapshot{Phase: "waiting"}
- if g.Casino != nil && sess.Player != nil {
- if table := g.Casino.Table(sess.Player.RoomID, cfg.ID); table != nil {
- for _, event := range table.Status(sess.Player.Name) {
- if view, ok := event.Snapshot.(*casino.CrapsSnapshot); ok {
- snap = view
- break
- }
- }
- }
- }
- return rules + "\n" + g.renderCasinoSnapshot(sess, snap)
- }
- if cfg.Game == casino.GameRoulette {
- snap := &casino.RouletteSnapshot{DoubleZero: cfg.Roulette.DoubleZero, Racetrack: cfg.Roulette.Racetrack, Phase: "betting", Wheel: casino.WheelOrder(cfg.Roulette.DoubleZero)}
- // Rules views draw a betting board too; use the live table's history
- // rather than presenting an empty tracker after completed spins.
- if g.Casino != nil && sess.Player != nil {
- if table := g.Casino.Table(sess.Player.RoomID, cfg.ID); table != nil {
- for _, event := range table.Status(sess.Player.Name) {
- if view, ok := event.Snapshot.(*casino.RouletteSnapshot); ok {
- snap.History = view.History
- break
- }
- }
- }
- }
- rules += "\n" + g.renderCasinoSnapshot(sess, snap) + "\n" + g.rouletteReminder(sess, cfg)
- }
- return rules
-}