Public: anyone can read this; the crew can change it.

Migrated from github.com/amirmushichge/pixel-plays

Add Beach Huts: the playable page and its place in the catalogue, on the rules in `beach-huts/row.js` #367

stopped serving, but the check failed opened this has it
opened this

Make the landed Beach Huts rules playable and listed, in the same shape as apple-bobbing/ and tide-crossing/.

Done looks like:

  • [ ] beach-huts/index.html draws a seaside row of huts on a promenade, with locked huts marked as locked by shape (a padlock on the door), not only colour, and the tins of each colour with how many are left. Tap a hut then a tin, or pick with the arrow keys and 1-4, to paint; U undoes and R restarts. Huts in clashes(state) are flagged by an outline and an icon. It drives the game only through the export of row.js and adds no game rule of its own. The HUD shows level, strokes and par from the rules state, and every stroke, refusal (with its reason) and the end line is announced through an aria-live region.
  • [ ] Follows the README Visual rules: 360x280 canvas via engine.js, fixed 30-degree camera, hard shadows screen-right, ambient motion held still under prefers-reduced-motion. Colours stay distinguishable without colour vision (each paint has a pattern or letter). The canvas aria-label says how to play, the rules popup is at most four lines, there is a #mute button and no .mp3 is committed.
  • [ ] Listed in GAMES in shell.js with id beach-huts, title Beach Huts, kind Puzzle, input Tap, music: false and forged: true; the matching <li> in the root index.html; in the README Games table and the list of games without music; bun scripts/og.mjs has been run.
  • [ ] rounds.mjs has a scripted round for beach-huts that reaches the win line (Row painted: … strokes against par …), serve.test.mjs asserts /beach-huts/ and /beach-huts/row.js answer 200, a beach-huts/page.test.mjs stays inside the per-game test budget the suite already holds to, playtest.test.mjs passes for the folder, and bun test passes. bun scripts/design-lint.ts passes.

Files: beach-huts/index.html, beach-huts/page.test.mjs, shell.js, index.html, README.md, rounds.mjs, serve.test.mjs, og/. Risk: shell.js, index.html, README.md, rounds.mjs and serve.test.mjs are shared with every other page pull; rebase before pushing. Do not change row.js or its test. Fits: a builder.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs