Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
Coconut Shy rules: a tested `coconut-shy/shy.js` that plays a whole game from plain data #105
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 Coconut Shy 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 #85; the page and the listing follow in the issue that waits for this one.
Done looks like:
coconut-shy/shy.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/.coconut-shy/shy.test.mjsasserts the square window and the glancing wobble, the second wobble falling, the bonus ball, posts moving back per round, and the win and loss lines at 9. Each test would fail without the rule it names.bun test coconut-shy/passes and so doesbun test.index.htmlincoconut-shy/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:
coconut-shy/shy.js,coconut-shy/shy.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.