Work-in-progress from the WALA-118 session, kept off main: the Katan game
is a later task, and this bootstrap only lists it under Board Games.
- game/catan/: CatanModel, CatanBoard (hex geometry, seeded island
generation), CatanRules (phases, building, trading, scoring), CatanAi.
- GameRules.isLegalMove: structural move validation for games whose move
space is combinatorial (trade offers), so MatchController's gates treat
every game the same way.
- Tests: 51 — the engine's intended behaviour, written ahead of the
implementation.
Honest state: it compiles, but 8 of the 51 tests still fail — forced-dice
handling in applyMove, token odds, win-by-standing-points, and two board
geometry invariants. Recorded, not silently green; the Katan game task picks
this up from here. Do not merge.
Co-Authored-By: Paperclip <[email protected]>