Files
Claude 3b0b307997
CI / Build and check (pull_request) Successful in 7m22s
CI / Deploy to Cloudflare Pages (pull_request) Skipped
Katan: no roads past an opponent's settlement, piece limits, stable layout
Rules
- A road may only start from a crossing where the player has a building, or
  where one of their roads ends AND no opponent's settlement or city stands.
  roadConnects ignored opponents' buildings, so a road (the computer's included)
  could be laid straight past a settlement. Also applies to Road Building.
- Enforce the piece supply: 15 roads, 5 settlements, 4 cities. It was
  unlimited.
- Tests: building past a settlement and a city, free roads, own settlement not
  blocking, and running out of each piece.

UI
- The layout rescaled the board whenever it became the player's turn, because
  the action buttons only existed then. Everything outside the board now has a
  fixed height: the action bar always shows every button (disabled, not absent),
  the prompt is pinned to two lines, player cards always draw every line, and
  the dice total is always present. Rule recorded in docs/UI-catan.md.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01JdMNbY5hLR7FjtfEE712xG
2026-10-15 13:55:03 +00:00
..
2026-08-06 13:34:31 +00:00
2026-08-07 05:52:26 +00:00
2026-08-06 03:25:09 +00:00
2026-08-06 18:09:10 +00:00

docs/

Conventions for this repo's documentation. Seeded at bootstrap (WALA-118).

Per-game rules: RULES-<game>.md

Every game in GameCatalog gets one file describing how this app implements it — not a generic rule dump. The rules code (app/src/main/java/org/prolibertate/games/game/<game>/) is the source of truth; the doc exists so a human or an agent can check intent against behaviour without reading Kotlin first.

Naming: the catalogue id, lowercase, e.g. crazy8s → RULES-crazy8s.md.

Game (catalogue id) Rules doc
Backgammon RULES-backgammon.md
Checkers RULES-checkers.md
Chess RULES-chess.md
Crazy 8s RULES-crazy8s.md
Cribbage RULES-cribbage.md
Euchre RULES-euchre.md
FreeCell — (TODO)
Golf RULES-golf.md
Hearts — (TODO)
Kaiser RULES-kaiser.md
Katan (catalogue id catan) RULES-catan.md
Klondike — (TODO)
Mastermind RULES-mastermind.md
Morris RULES-morris.md
Peg solitaire — (TODO)
Pirates RULES-pirates.md
President RULES-president.md
Pyramid — (TODO)
Sequence RULES-sequence.md
Spider — (TODO)
Ta Yü RULES-tayu.md
Wizard RULES-wizard.md
Yahtzee — (TODO)

Other docs

  • Build, CI, releases and OTA are described in the CI section of the root README.
  • UI-catan.md — how the Katan screen is layered, and how to restyle, re-copy or re-lay-out it without touching the rules.
  • licenses/ — third-party licences that must travel with the app (Uncial Antiqua under the SIL OFL; the app itself is GPL-3.0, see /LICENSE).
  • Repo-level agent notes live in CLAUDE.md at the root.