Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
Add Maypole: the playable page and its place in the catalogue, on the rules in `maypole/pole.js` #369
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
Make the Maypole rules playable and listed, in the same shape as
beach-huts/andtide-crossing/. Starts once #363 has landedmaypole/pole.js.Done looks like:
maypole/index.htmldraws the maypole with its dancers in a ring and the ribbons braiding down the pole, beside the target pattern. Tap two neighbouring dancers, or pick with the arrow keys and Enter, to swap them; U undoes where the rules allow and R restarts. It drives the game only through the export ofpole.jsand adds no game rule of its own. The HUD shows level, swaps and par from the rules state, and every swap, refusal and end line is announced through an aria-live region.engine.js, fixed 30-degree camera, hard shadows screen-right, ambient motion (ribbons stirring) held still underprefers-reduced-motion. Ribbon colours are distinguishable by pattern as well as colour; the chosen dancer differs by shape. 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 idmaypole, titleMaypole, kindPuzzle, inputTap,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 formaypolethat reaches the win line,serve.test.mjsasserts/maypole/and/maypole/pole.jsanswer 200, amaypole/page.test.mjsstays inside the per-game test budget,playtest.test.mjspasses for the folder, andbun testpasses.bun scripts/design-lint.tspasses.Files:
maypole/index.html,maypole/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. Fits: a builder.