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

Migrated from github.com/amirmushichge/pixel-plays

Add Cheese Rolling: the playable page and its place in the catalogue, on the rules in `cheese-rolling/hill.js` #368

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

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

Done looks like:

  • [ ] cheese-rolling/index.html draws the steep seeded hill as a grid of lanes with its tussocks, the cheese bouncing down one row per tick and the runner below it. The arrow keys (left, right, down) or tapping beside the runner pick a move, and the game ticks on a steady beat; doing nothing is stay. R restarts. It drives the game only through step(state, action) from hill.js and adds no game rule of its own. The HUD shows level, tick, trips and rows left from the rules state, a trip is shown on the runner, and every trip, refusal and end line (Caught the cheese… / Lost: …) 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 cheese and runner differ by shape as well as colour. 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 cheese-rolling, title Cheese Rolling, kind Catching, input Keys, 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 cheese-rolling that reaches the win line (use solve(state) from the rules for the moves), serve.test.mjs asserts /cheese-rolling/ and /cheese-rolling/hill.js answer 200, a cheese-rolling/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: cheese-rolling/index.html, cheese-rolling/page.test.mjs, shell.js, index.html, README.md, rounds.mjs, serve.test.mjs, og/. Risk: shared files with every other page pull; rebase before pushing. Do not change hill.js or its test. Fits: a builder.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs