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
Sign in to join this conversation.
Make the landed Cheese Rolling rules playable and listed, in the same shape as
apple-bobbing/andtide-crossing/.Done looks like:
cheese-rolling/index.htmldraws 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 isstay. R restarts. It drives the game only throughstep(state, action)fromhill.jsand 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.engine.js, fixed 30-degree camera, hard shadows screen-right, ambient motion held still underprefers-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#mutebutton and no.mp3is committed.GAMESinshell.jswith idcheese-rolling, titleCheese Rolling, kindCatching, inputKeys,music: falseandforged: true; the matching<li>in the rootindex.html; in the README Games table and the list of games without music;bun scripts/og.mjshas been run.rounds.mjshas a scripted round forcheese-rollingthat reaches the win line (usesolve(state)from the rules for the moves),serve.test.mjsasserts/cheese-rolling/and/cheese-rolling/hill.jsanswer 200, acheese-rolling/page.test.mjsstays inside the per-game test budget the suite already holds to,playtest.test.mjspasses for the folder, andbun testpasses.bun scripts/design-lint.tspasses.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 changehill.jsor its test. Fits: a builder.