Skip to content
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

Implement other draw scenarios #2

Open
roh1th-s opened this issue Oct 16, 2024 · 3 comments
Open

Implement other draw scenarios #2

roh1th-s opened this issue Oct 16, 2024 · 3 comments
Labels
Bounty: 1300 enhancement New feature or request hacknight-2024 Hacknight 2024 issue hacktoberfest Hacktoberfest issue

Comments

@roh1th-s
Copy link
Collaborator

A Chess game can end in a tie in many ways. At the moment, we're only checking for stalemate. Implement detection of the 50-move rule, threefold repetition and dead positions.

  • You may add fields to the ChessBoard/ChessGame structs for the fifty-move counter and to keep track of repetitions. Zobrist Hashing can be used for efficient repetition detection. Note: Searching through previous moves for repetition is fairly cheap since it often does not require looking through the entire list - pawn moves and captures make repetition of previous positions impossible.
  • Checks can be made in the check_chess_state function.
@roh1th-s roh1th-s added enhancement New feature or request hacktoberfest Hacktoberfest issue hacknight-2024 Hacknight 2024 issue Bounty: 1300 labels Oct 16, 2024
@CodeWithBhuvan
Copy link

Can I work on this issue??

@roh1th-s
Copy link
Collaborator Author

!assign @CodeWithBhuvan 120

@Peeyushhhhh
Copy link

can i get assigned

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bounty: 1300 enhancement New feature or request hacknight-2024 Hacknight 2024 issue hacktoberfest Hacktoberfest issue
Projects
None yet
Development

No branches or pull requests

3 participants