puzzlescript
puzzlescript copied to clipboard
Misc Todo list
- [x] squash all
tscerrors - [x] fix game rendering performance bottleneck
- [x] split parser up into separate files by using multiple
semantics.addOperation('parse', {...}or by assembling the Object arg before passing it in.- See https://github.com/harc/ohm/blob/master/doc/api-reference.md#namespace-objects (& other docs)
- [x] remove the Pairs classes by moving the
getMatchedMutatorsOrNullonto the non-pair class and passing in an additionalcorrespondingActionNodefield
Then, we can start implementing:
- [x] relative directions inside brackets (
[ > Cat | ^ Dog ] -> ...)- [x] Get a working slow implementation to work
- [x] Simplify the commands used to update the Cell so that we can keep caches in the Cell
- [x] Use Bit Set to perform operations. See StackOverflow and maybe Bitset package or bitterset
- [x] 16million colors
- [x]
LATE - [x]
STARTLOOP - [x] expanding the rules per https://www.puzzlescript.net/Documentation/executionorder.html
- [x] cell movement state (
[> cat]) - [x] different timing options (tick, when player presses, etc)
- [x] player movement
- [x]
ACTION - [x]
AGAIN - [x] redo a level
- [x] support OR tiles on the left (condition) percolating to the right (action) even when in different brackets
- [x] play a level and move to the next when win conditions are met
- [x] record a level playthrough so it can be replayed as a unit test
- [x] support
flickscreensetting - [x] support
zoomscreensetting (lots of redraws) - [x] detect win conditions
- [x] support
WINCONDITIONSsection - [x] support
WINcommand in the rules
- [x] support
- [x]
CANCEL - [x] ellipses
[ | ... | ] -> [ | ... | ] - [x]
SFXcommands - [x] undo
- [x]
CHECKPOINT - [x] render messages and message levels (screen 34x13 characters)
- [x] sprites add on the right side of a Rule should be
NOon the left side (be smart though) might only work if 1 sprite is being added. Speeds up evaluation since there will be fewer matches - [x] add https://github.com/yeoman/update-notifier
- [x] Add comamndline arguments to pick the game, level, pixel size, resume, (& analytics?)
- [ ] Add analytics reporting
- [x] add accessibility renderer (
wasdplays the game and arrow keys inspect the "screen")
/cc @jenniferharmon