-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added Advanced Slither #8
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
humanat
added a commit
that referenced
this pull request
Jan 20, 2024
* Fix issue where untrusted partial moves were being validated against the move list. * Implements quagmire (#4) * Implements quagmire --------- Co-authored-by: Christopher Field <[email protected]> * Quagmire: Minor mechanical tweaks * Update to fix opening setup for Quagmire (#5) Co-authored-by: Christopher Field <[email protected]> * Homeworlds: Make self-elimination allowed but always temporary * Quagmire: Forcibly make player 1 pass their second turn * Quagmire: Lighten the hexes a tad * Quagmire: Manually scale the meeple to not overflow * Quagmire going live * Fix for first player not getting first move in quagmire. (#6) Co-authored-by: Christopher Field <[email protected]> * Bao: Something is wrong with the local environment, so pushing to dev server to try there. * Amazons: Enabled pie rule * Bao: Forgot to add piece count function. * Bao: And getPlayersScores too * Bao: Redeploying. Something broke when deploying the renderer * Bao: Further tweaks trying to fix codependencies * Bao: Ready for live testing * Bao: Some fixes * Bao: Some 'final' fixes. Ready to announce testing period. * Bao: Fix kujifunza * Bao: Correct spelling * Bao: fix annotations, fix economy, disable safari in mtaji phase * Bao: Support delta overlay * Bao: Fix deltas persisting issue * Bao again * Bao: Another bug fix * Almatafl: Ready for live testing * Almatafl: Going live * Bao: direction fix * Bao: Capture fix * Almatafl: Allow invaders to capture the king on the throne. * Volcano render bug fix * Oh, how I love you mr linter * Moron * Fix abande "You cannot move until the first player has placed two pieces" bug * Bao: Add validation check for blocked cells * Adding Scaffold. (#7) * WIP implementation of scaffold. * Allow render of partial moves. * Revert annotation to "enter". * Add annotation for followup moves. * Changed board to vertex style. --------- Co-authored-by: pvanwamelen <[email protected]> Co-authored-by: Aaron Dalton <[email protected]> * Add experimental flag right quick * Added Advanced Slither (#8) * Added Advanced Slither. * Added slither to index.ts * Fixed bug that's been bugging me for a while. * Make the phrasing make more sense. * We actually only need to check these cells. * Add missing text. * Message for passing. --------- Co-authored-by: Aaron Dalton <[email protected]> * Quickly add 'experimental' flag * Slither: Ready for live testing * More efficient algorithm for Scaffold. (#9) * Much more efficient algorithm for detecting followups. * Updated dashes to commas in move notation. * Slither: Slight tweak to one of the validation messages. * Scaffold: Fix dot annotations * Some simple optimisations for Slither (#10) * Allow short-circuiting in `isValid` check. * If place === from, just check placement at to. * Slither: Quick test of updated code * Slither: Add variant names; Remove experimental tag from Slither and Scaffold * Fix Slither variant capitalization * Bao: Fix premature partial rendering * Almatafl: Fix throne validation error * Bao: Fix blocked bug and add unit test * Bao: Tweak description * Murus: Fix EOG sequencing issue * Byte: Ready for live testing * Redeploying to see if this corrects things * Revert "Redeploying to see if this corrects things" I should maybe stop while I'm ahead. This reverts commit da190a3. * Byte: Add missing validation message * Byte: Fix incorrect validation message * Byte: Moving to production * Bao: Mark blocked cells in red, and fix samemove bug * Bao: Ugh. Fix typo * Bao: Clarify validation message * Bao: Clarify validation message * Bao: Clarify validation message * Added Lielow (#11) * Added Lielow. * Add possible move annotations. * Lielow: Add experimental tag and start testing * Lielow: Allow opponent to have King promotion on your turn. (#12) * Added Lielow. * Add possible move annotations. * Allow opponent's king to promote on your turn. * Add `player` to `"promote"` in `APMoveResult`. * Use `chatLog` so that we can get opponent's name in current turn. * Lielow: Going live * Bao: Super specific initial instructions * Bao: Add no-back-row message * Bao: Going live * Bao: Fix for stupid undefined error * Byte: Fix same from-to * Toguz: Ready for live testing * Toguz: Fix tuz ownership * Toguz going live * Toguz: Fix tuz criteria * Added Trike. (#13) * Trike: Going live * Fnap: Ready for live testing * Fix merging isue * FNAP: Going to be some pushes since there are errors that didn't exist in the local environmen * Fnap: Fix tie bug * Fnap: Fix canrender * Fnap: More fixes. Sorry for the commit spam. Simultaneous games are tricky to test locally. * Fnap: Fix partial placements * Weird bug. Adding logging * CLI testing ftw * Fnap: Hopeful fix * Changed default size for Trike and added descriptions provided by the designer (#14) * Added Trike. * Changed default size for Trike and added descriptions provided by the designer. * Fnap: Forgot to add test file * Fnap: fix moves() function * Fnap fix passing message * Fnap: nudge numbers down a bit * Fnap: fix passing message again * Fnap ready for live testing * Added Iqishiqi (#15) * Added Iqishiqi. * Switch from hex-of-tri to hex-of-hex. * Iqishiqi: Fix blocked detection (#16) * Added Iqishiqi. * Switch from hex-of-tri to hex-of-hex. * Fix block detection to also include movement of neutral piece blocked by edges. * Fnap: Lowest value places! Holy heck! * Iqishiqi: Going live * Iqishiqi: Tweak colours * Iqishiqi: Tweak some chat messages * Check for goal condition should happen before stalemate condition. (#17) * Added Furl (#18) * Added furl and unfurl move results. They're currently only used in the game Furl, but the mechanism may possibly be used in other games. * Added Furl. * Furl: Add 'perspective' flag * Diffusion: Ready for live testing * Lielow: A bit of polish (#19) * Removed unused type. * Record movement during capture and add exit annotations. * Shouldn't create set of arrays. It didn't affect anything but the set didn't function as a set. * Furl: Finishing touches (#20) * Update annotations to show furl, unfurl and capture moves. * Use more tried and tested conditions to show if annotations should be displayed. * Better messages for Furl. * Trying something new to make the objective clearer. Feel free to revert this if it looks too ugly :D * Furl: Going live * Diffusion: Add perspective flag * Fix cannon checkmate check to also check for opponent check. * Chase: Fix infinite loop in recurseMove * Chase: Fix infinite loop in recurseMove * Add Havannah. (#21) * Havannah going live, and Byte bug fix * Havannah: Tweak to description * How many miniscule commits can I push in a row? Fix typo in Havannah description. * Archimedes: 8x10 variant to dev server * Added Hex (#22) * Reformatted the game assignment so that it's easier to add games to the index... * Add a hex slanted graph. * Add Hex. * Add Tumbleweed. (#23) * Tweak to line endings in index.ts * Some miscellaneous fixes. (#24) * Tumbleweed: More polish (#25) * Some miscellaneous fixes. * Forced passing for second player. * Add Tumbleweed-specific messages. Updated moveresults to reflect this. * Put score breakdown in status. * Add optional markers. * Hex: Going live * Tweak to strings * Tweak some Tumbleweed strings * Finalise Tumbleweed board sizes. (#26) * Tumbleweed: Ready to go live * Tumbleweed: minor updates (#27) * Update designer credit as per request. * Show influence on gameover regardless of render options. * Add Meridians. (#28) * Fix Meridians and Tumbleweed (#29) * Meridians: fix capture; it should happen right after a turn, rather than right before. * Tumbleweed: Add "pass" message to chat. * Meridians: Finalising implementation (#30) * Fix threatened groups logic. Because check in `move` happens before `saveState` and check in `render`, check is more robust before method call. * More robust handling of special moves using stacks. I don't think it can be an issue, but perhaps this is more explicit about what the intention is. * Add path rule for second stone. * Update move list too. * Meridians: Going live * Add 'pie-even' flag and apply it to Tumbleweed and Meridians * Fix build issue * Exxit: Ready for live testing * Exxit: Fix strings * Exxit: Add shared stash (still need to add hex glyph) * Fixed stray log * Exxit: Use new hex glyph * Exxit: Fix DoD bug * Exxit: Fix claiming bug * Exxit: Numerous fixes * Add Mattock. (#31) * Mattock: Fixed issues (#32) * Remove placeholder name used for testing. * Fixed to===from validation. * Fixed wrong graph reference in size-5 random. * Add to place counter. * Trying different colour to floodfill cell... Would appreciate better suggestions. * Added missing `displays` option to `gameinfo`. * Mattock: more fixes (#33) * Remove placeholder name used for testing. * Fixed to===from validation. * Fixed wrong graph reference in size-5 random. * Add to place counter. * Trying different colour to floodfill cell... Would appreciate better suggestions. * Added missing `displays` option to `gameinfo`. * Added missing condition. * Disable auto-pass because it seems to cause issues in the playground. * Exxit: I think we finally have it figured out * Mattock: Add missing flags * Exxit: More bug fixes * Mattock: Blocked tweak to dev server * Mattock: On its way to prod * Trike: Almost forgot. Turned on automove * Exxit: Ready for prime time * Add Catchup. (#34) * Havannah: Fix getWinningStructure bug where lastmove is not a real move * Catchup: Fixes (#35) * Add Catchup. * Set variant to size 6. If there are demands for larger sizes, we can add them later. * Add permissive flag. * Add `sameMove`. * Update `getPlayerScore` to more accurately reflect effective score. * Fixed move result recording. * Add Blooms. (#36) * Blooms: some fixes (#37) * Increase opacity to 0.5. * Avoid error on empty move. * No change in logic, but added a comment to explain the decision to set first move as complete. * Added 'aiai' flag to show if a game supports it. Added two game-specific support functions to do the translation. * Forgot to add new files to commit * Furl: Fix translateAiai bug * Furl: SMH * Try white background to make certain renders hopefully look better in dark mode. (#38) * Add white pieces at the back to hopefully make it look better in dark mode. * Try white flood on Mattock too so that it hopefully looks better in dark mode. * Add "random-start" flag for Mattock. * Catchup: Fixed sorting for larger boards (#39) * Catchup: sort moves by coordinates. * Trike: Allow hiding possible moves without hiding last moves. * Mattock: Oh yeah, I should remove this too. * Enabling AiAi for DagNacht on dev server * Moving MGL determination into the game code, where it belongs. * Adding Bot support for Fanorona * Fanorona: Fix bot translation bug * Fanorona: Fix aiaiTranslate issue with pass * Fanorona: Another fix * Lielow: Adding bot support * Lielow: Capture fix * Lielow: Another bot fix * Add bot support for Trike * Trike: Adjust bot code for initial placement * Add Veletas. (#40) * Implements Mimic (#41) * Implementation of Mimic * Fixing merge issues. --------- Co-authored-by: Christopher Field <[email protected]> * Mimic: Adding experimental flag * Mimic: Fix linting errors * More linting * Fixes in Blooms, Catchup and Veletas (#42) * Blooms: Add key after I discovered this feature from Manalath. * Catchup: Remove move list generation. Using more robust validation and new random move generator implemented. * Veletas: Fix missing part in validation. * Veletas: Fix typo in apgames. * Veletas: Auto-normalise placement like Catchup. * Trike: Bot fix * Fanorona: Fix bot bug * Zola: Bot support added * Zola: Have to mirror columns * Trike: Fix inverted coordinates (#43) * Trike: Fix inverted coordinates. * Trailing space. * More fixes in Blooms, Catchup and Veletas (#44) * Blooms: `piece` argument can be more than what's in key. * Catchup: Remove auto normalisation as on further thought, there should be a closer correspondence between the move that is submitted and the move that gets registered. The normalised move is printed in the error message. * Catchup: Handle one other edge case in validation that is not caught by regex validator. * Veletas: Missed rule where shooters can move over other shooters. * Veletas: remove auto normalisation before validation. * Add current move highlight using yellow flood fill. (#45) * Linting stuff * Fix triangle translation issue * Catchup: Tweak strings * Blooms: String tweaks * Catchup and Blooms going live * Some fixes for Mimic (#46) * Implementation of Mimic * Fixing merge issues. * Fixing some minor issues with mimic implementation. --------- Co-authored-by: Christopher Field <[email protected]> * Blooms: Add 'no-moves' flag * Updating workflows * Trying again * Fix for bug I just introduced to mimic. (#48) Co-authored-by: Christopher Field <[email protected]> * Veletas: Tweak strings * Support adjusting variant group default name and description * Veletas: Fixes (#49) * Add missing validation. * Reordered variants to order suggested by designer. * Add default variant name for Veletas. * Also update order in apgames just in case that matters. * Added Gess. (#50) * Gess: Some very minor adjustments (#51) * Because of the way complete moves are submitted, I should actually clear the nineCellHighlight for current move if it's not a partial. * 0.4 opacity is too strong. Let's try 0.25... * Adding some variantGroups descriptions, and Hex size-19 (#52) * Added some variantGroups descriptions. * Catchup and Blooms: Reduce marker opacity to 0.25. * Hex: Add size 19. * Remove "default" from variantGroups name. * Final change to Mimic (#53) * Fix for bug I just introduced to mimic. * Adding highlighting to frozen pieces. --------- Co-authored-by: Christopher Field <[email protected]> * Updating PR workflow to use GITHUB_TOKEN * Promoting Mimic from experimental --------- Co-authored-by: Aaron Dalton <[email protected]> Co-authored-by: Christopher Field <[email protected]> Co-authored-by: pvanwamelen <[email protected]> Co-authored-by: Paul Yew <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added Advanced Slither. Currently, I have the 9x9 as the default, with the 13x13 as a variant, as per Little Golem's implementation. If there is any demand for specific larger board sizes, we can add them later. Classic Slither is also added as a variant.