Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
Add Rope Swing: the playable page and its place in the catalogue, on the rules in `rope-swing/river.js` #370
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 Rope Swing rules playable and listed, in the same shape as
apple-bobbing/. Starts once #364 has landedrope-swing/river.js.Done looks like:
rope-swing/index.htmldraws the oak, the rope swinging byswing(state, tick), the river at its current width and the landing window on the far bank. Space, Enter or a tap lets go; R restarts. It drives the game only through the export ofriver.jsand adds no game rule of its own. The HUD shows crossing, lives and score from the rules state, and every landing, splash, refusal and end line is announced through an aria-live region.engine.js, fixed 30-degree camera, hard shadows screen-right, ambient motion (water) held still underprefers-reduced-motion; the rope itself keeps swinging since it is the game, and the page says so. 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 idrope-swing, titleRope Swing, kindTiming, 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 forrope-swingthat reaches the win line,serve.test.mjsasserts/rope-swing/and/rope-swing/river.jsanswer 200, arope-swing/page.test.mjsstays inside the per-game test budget,playtest.test.mjspasses for the folder, andbun testpasses.bun scripts/design-lint.tspasses.Files:
rope-swing/index.html,rope-swing/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.