Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
Cloakroom rules: a tested `cloakroom/cloak.js` that plays a whole game from plain data #107
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
The rules for Cloakroom as a module on its own, so the game can be built on rules already proven, without touching any shared file. This is the first half of #91; the page and the listing follow in the issue that waits for this one.
Done looks like:
cloakroom/cloak.jstakes plain data in and returns plain data out (no DOM, no canvas, no timers, noMath.random: randomness comes from a seed passed in), loadable both by a<script>tag (aswindowglobal, like the other games' rules) and byimportin tests, following the pattern of an existing forged game's rules file such assoapbox-derby/.cloakroom/cloak.test.mjsasserts the seeded deal holds exactly the stated pairs, a match leaves, a mismatch counts and turns back, a third turn during the pause is ignored, the clock running out loses, and the win and loss lines at 12 mismatches. Each test would fail without the rule it names.bun test cloakroom/passes and so doesbun test.index.htmlincloakroom/yet (that would makeplaytest.test.mjsrequire a round before the page exists), and no change toshell.js,index.html,README.md,serve.test.mjs,rounds.mjsorog/.Files:
cloakroom/cloak.js,cloakroom/cloak.test.mjs. Risk: none shared, since both files are new. The rules must expose the state the playtest will read (phase, score, over, outcome line) so the page issue can script a round without reaching into drawing code. Fits: a builder.