fix: implement proper bishop color detection in insufficient material check#2
Open
nikhilachale wants to merge 1 commit into
Open
fix: implement proper bishop color detection in insufficient material check#2nikhilachale wants to merge 1 commit into
nikhilachale wants to merge 1 commit into
Conversation
… check Fixed insufficient material draw detection to properly handle bishops on different color squares. Previously, any two bishops would result in a draw, but bishops on opposite colors can potentially checkmate in rare positions. Changes: - Track bishop positions on the board - Calculate square colors using (x + y) % 2 - Only declare draw when bishops are on same color squares - Maintain backward compatibility with fallback to draw for edge cases Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or 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
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.
Summary
Fixed insufficient material draw detection to properly handle bishops on different color squares.
Problem
The previous implementation declared a draw for any two bishops regardless of their square colors. However, bishops on opposite color squares can potentially deliver checkmate in rare positions.
Solution
(x + y) % 2formula (0 = light, 1 = dark)Changes
isInsufficientMaterial()method inpackages/Chess/src/Game.tsTesting
Test Plan
pnpm buildpnpm check-typespnpm lint🤖 Generated with Claude Code