diff options
| author | historia <[not public]> | 2026-09-29 14:15:06 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-09-29 14:15:06 -0400 |
| commit | 3db3071c444abb2133e1fcaf7e685095415c1adf (patch) | |
| tree | a1d3c276aa7db2e89ea92a5751a81c197a1e1103 /building_guide | |
| parent | 9803facd4368420a5dce3af59c835e13cb015cf5 (diff) | |
| download | thehouseoficarus-3db3071c444abb2133e1fcaf7e685095415c1adf.tar.gz | |
feat: better roulette wheel design
Diffstat (limited to 'building_guide')
| -rw-r--r-- | building_guide/roulette.md | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/building_guide/roulette.md b/building_guide/roulette.md index 205e044..ac977a6 100644 --- a/building_guide/roulette.md +++ b/building_guide/roulette.md @@ -23,7 +23,28 @@ casino_tables: European 37-pocket wheel is used. Spin ticks default to 3; betting ticks use the shared default. Ticks follow the server's configured tick length. The wheel order is authentic and the outcome is selected uniformly only when -spinning finishes. The spinning illustration is intentionally schematic. +spinning finishes. + +## Presentation + +Art is rendered per recipient in `internal/game/render_roulette.go`, so color +mode and Unicode preference stay per player (the engine snapshot never embeds +ANSI). Three views share one renderer: + +- **Betting board**: numbered grid with zeros in the left lane, red/black + pockets, and outside bets. Green background is reserved for the 0/00 cells. +- **Spinning**: a large circular wheel with every pocket placed and colored; + the pocket count carries the real zero count (one green for European, two + for American), and a hub marks the ball. +- **Result**: the winning pocket plus its two physical wheel neighbours at + playing-card size, with the ball inside the winning pocket and no + surrounding prose. + +The odds reminder (`Numbers 35:1 ...`) is not part of the ambient board. It is +shown only by the `table` command (and `table rules`). Each table's one-line +overview is kept short (`Label | Limits 1-10000 | n/m seated | state`) so it +fits beside a look minimap; `writeLookSideBySide` also wraps any content line +that would otherwise run into the map column. Initial scope is **one wager per player per spin**, covering straight-up and outside bets (colors, parity, high/low, dozens, columns). Multiple simultaneous |
