No description
Find a file
Jarvis ea99d36657 Add house buying/selling sub-parser with full integration
New file: house_parser.py — self-contained state machine for the interactive
house buy/sell dialog. Parses:
- Property prompts ('PropName (N): ') to capture current house count
- Player responses (how many to buy/sell)
- Auto-skipped prompts (hotel during buy, 0 houses during sell)
- Error retries ('spread too wide', 'too many')
- Confirmation ('Is that ok?' → y/n)

Returns a result dict with {action, changes: {sq_id: new_count}, cost}
when the dialog completes.

Integration: monop_parser feeds every line (bot + player) to HouseParser.
On result, applies house count changes to property_houses.

Tests:
- test_house_parser.py (18 tests): buy/sell basics, hotel, error retry,
  real log replay (lines 59, 354, 4386)
- test_parser_commands.py: 4 new integration tests (buy, sell, reject,
  real log verification)

This closes the last tracking gap — house counts are now accurate at
purchase time, not just when rent is later charged.
2026-02-21 19:43:03 +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 Add house buying/selling sub-parser with full integration 2026-02-21 19:43:03 +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
house_parser.py Add house buying/selling sub-parser with full integration 2026-02-21 19:43:03 +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 Add house buying/selling sub-parser with full integration 2026-02-21 19:43:03 +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_house_parser.py Add house buying/selling sub-parser with full integration 2026-02-21 19:43:03 +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 Add house buying/selling sub-parser with full integration 2026-02-21 19:43:03 +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