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

Migrated from github.com/amirmushichge/pixel-plays

Add Milk Churns: the playable page and its place in the catalogue, on the rules in `milk-churns/churns.js` #356

open not picked up yet opened this
opened this

Make the landed Milk Churns rules playable and listed, in the same shape as pumpkin-patch/ and village-darts/. Starts once #332 has landed milk-churns/churns.js.

Done looks like:

  • [ ] milk-churns/index.html draws a dairy with three churns of different sizes, each showing how much milk it holds against its size. Tap one churn then another, or pick with the arrow keys and Enter, to pour; U undoes where the rules allow and R restarts. It drives the game only through the export of churns.js and adds no game rule of its own. The HUD shows level, pours and par from the rules state, and every pour, refusal and win 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. The chosen churn differs from the others by shape as well as colour (its lid lifts). 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 milk-churns, title Milk Churns, 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 milk-churns that reaches the win line, serve.test.mjs asserts /milk-churns/ and /milk-churns/churns.js answer 200, a milk-churns/page.test.mjs stays inside the per-game test budget the suite already holds to, and bun test passes. bun scripts/design-lint.ts passes.

Files: milk-churns/index.html, milk-churns/page.test.mjs, shell.js, index.html, README.md, rounds.mjs, serve.test.mjs, og/. Risk: shell.js, index.html, README.md and serve.test.mjs are shared with every other page pull; rebase before pushing. Fits: a builder.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs