No description
Find a file
Jarvis 22e98794d3 Parse player commands and holdings displays for full state tracking
Player command tracking:
- .card: detect GOJF card usage in jail (previously invisible)
- .mortgage/.mor: set property_mortgaged flag using cost+name disambiguation
- .unmortgage/.unm: clear property_mortgaged flag using cost+name disambiguation
- Command context (_command_context) disambiguates 'That cost you $X' between
  jail pay and unmortgage

Holdings display parsing:
- Parse 'NAME's (N) holdings' header, then printsq-format property lines
- Full resync of property_owner, property_mortgaged, property_houses
- Reuses resolve_trade_property() for name matching
- Holdings end on any non-property line (checkpoint, command prompt, etc.)

13 new tests in test_parser_commands.py:
- GOJF card (4): exit jail, no card, not in jail, log entry
- Unmortgage (2): unique property, disambiguation with user input
- Mortgage (1): flag set correctly
- Holdings (5): ownership, mortgage, houses, stale clearing, real log replay
- Real log (1): unmortgage at line 36-41

All 1551 checkpoints + 80 unit tests passing.
2026-02-21 19:30:21 +00:00
__pycache__ Fix setup registration: names appear as each player joins 2026-02-21 11:54:53 +00:00
docs Add docs/BUGS_AND_FIXES.md — regression reference for all fixed bugs 2026-02-21 19:15:16 +00:00
plugins Parse player commands and holdings displays for full state tracking 2026-02-21 19:30:21 +00:00
reference Re-add test data and reference files after reboot 2026-02-21 02:37:37 +00:00
site Fix 7 bugs: trade property transfer, UI owner colors, resign edge cases, spec flag, phase field, timestamps 2026-02-21 18:52:10 +00:00
test_data Add autopilot test logs (2162 lines, successful 2-player game) 2026-02-21 09:39:17 +00:00
irc_client.py Re-add test data and reference files after reboot 2026-02-21 02:37:37 +00:00
monop_bridge.py Fix setup registration: names appear as each player joins 2026-02-21 11:54:53 +00:00
monop_parser.py Parse player commands and holdings displays for full state tracking 2026-02-21 19:30:21 +00:00
monop_players.py Fix setup registration: names appear as each player joins 2026-02-21 11:54:53 +00:00
README.md Initial: monop-board site files 2026-02-21 01:35:37 +00:00
run_game.py Fix setup visibility: bridge waits for players, observer sees registration 2026-02-21 11:33:28 +00:00
test_integration.py Add integration test - parser matches monop state perfectly (7/7 checks pass) 2026-02-21 03:50:08 +00:00
test_parser.py Add monop parser and test suite - 1551/1553 checkpoints pass 2026-02-21 03:10:53 +00:00
test_parser_bugs.py Fix 7 bugs: trade property transfer, UI owner colors, resign edge cases, spec flag, phase field, timestamps 2026-02-21 18:52:10 +00:00
test_parser_commands.py Parse player commands and holdings displays for full state tracking 2026-02-21 19:30:21 +00:00
test_parser_resign.py Fix 7 bugs: trade property transfer, UI owner colors, resign edge cases, spec flag, phase field, timestamps 2026-02-21 18:52:10 +00:00
test_players.py Fix trade race condition: move trade/roll decision to -- Command: handler 2026-02-21 10:55:33 +00:00

monop-board Static Site

Visual Monopoly board viewer that reads game-state.json and displays the board.

Usage

# Serve from the site directory (game-state.json should be in this dir or parent)
cd site/
python3 -m http.server 8080

Then open http://localhost:8080 in your browser.

Features

  • Classic Monopoly board layout
  • Player tokens with colors and initials
  • Property ownership indicators
  • Houses (green) and hotels (red)
  • Color-coded property groups
  • Player info panels with money, properties, cards
  • Game log with recent events
  • Auto-refreshes every 2 seconds
  • Demo mode when no live game is running
  • Mobile-responsive dark theme