Releases: jwyce/gungi.js
Releases · jwyce/gungi.js
v3.4.11
Patch Changes
-
8aae510: Allow tactician betrayal move generation when moving onto a friendly-topped tower with enemy pieces underneath.
- Generate
謀(... )返Xfor onboard tactician stacks with convertible enemy pieces below a friendly top piece. - Preserve existing arata betrayal behavior.
- Add regression coverage for onboard betray generation and execution.
- Generate
v3.4.10
Patch Changes
-
941567b: Fix tactician arata betrayal generation when stacking onto a friendly-topped tower.
- Allow
新謀(... )返Xmove generation for this niche arata case. - Apply betrayal conversion and hand consumption correctly for arata betrayal moves.
- Add regression coverage for both white and black variants.
- Allow
v3.4.9
Patch Changes
-
30ed821: Restrict leap-over behavior for jumping pieces to forward movement only.
- Cannon, archer, and musketeer can no longer jump over blockers when moving sideways or backward.
- Added movement regression tests that verify forward leaps remain legal and non-forward leaps are blocked.
v3.4.8
v3.4.7
v3.4.6
Patch Changes
-
cd851e5: Fix checkmate and stalemate detection to follow Gungi-specific rules
- Checkmate: Now correctly detects when a player is in check AND has no move that would escape check. In Gungi, players CAN move while in check (unlike chess), but checkmate occurs when no move escapes.
- Stalemate: Now correctly detects when a player is NOT in check but ALL possible moves would result in being in check. This is a draw condition.
- Insufficient Material: Added detection for draw when only two non-adjacent marshals remain on the board (no other pieces in play or in hand).
isGameOver(): Updated to include stalemate and insufficient material as game-ending conditions alongside marshal capture, checkmate, and fourfold repetition.isDraw(): Now returns true for stalemate, fourfold repetition, or insufficient material.
-
cd851e5: Append "=" suffix to SAN notation for insufficient material draws
Previously, the
move()function only appended "=" for stalemate and fourfold repetition draws. Now it also appends "=" when a move results in insufficient material (only two non-adjacent marshals remaining).
v3.4.5
Patch Changes
-
bf7a793: Fix checkmate and stalemate detection to follow Gungi-specific rules
- Checkmate: Now correctly detects when a player is in check AND has no move that would escape check. In Gungi, players CAN move while in check (unlike chess), but checkmate occurs when no move escapes.
- Stalemate: Now correctly detects when a player is NOT in check but ALL possible moves would result in being in check. This is a draw condition.
- Insufficient Material: Added detection for draw when only two non-adjacent marshals remain on the board (no other pieces in play or in hand).
isGameOver(): Updated to include stalemate and insufficient material as game-ending conditions alongside marshal capture, checkmate, and fourfold repetition.isDraw(): Now returns true for stalemate, fourfold repetition, or insufficient material.