Refactor rulesets into smaller composable operations
In order to mix up the functionality from different rulesets like Solo, Royale, etc. the code in these classes needs to be broken up into small functions that can be composed in a pipeline to make a custom game mode.
* fix sending of new params
* add royale and squad settings to requests
* add --debug-requests option
* update test for request body and add helper
Co-authored-by: Penelope Phippen <penelope@hey.com>
* extract board generation out of rules.Ruleset
* update comment and remove redundant interface check
* clone boardState in constrictor to respect the ModifyBoardState interface
* move hazard damage into StandardRuleset
* OutOfBounds -> Hazards
* remove "out of bounds" in comment
* add cases for eating food to hazard damage test
* add eliminated by
* add test
* make sure largest snake is listed as eliminator on head to head collisions
* remove unused type def
* Reduce memory usage during elimination checks.
Co-authored-by: Daniel Steuernol <dlsteuer@gmail.com>