This is a two-player chess game developed in C# using WPF. The game adheres to standard chess rules:
- Implemented Chess Rules:
- Pawn Promotion: When a pawn reaches the opponent's back rank, it can be promoted to a queen, rook, bishop, or knight.
- En Passant: A special pawn capture move that can only occur immediately after a pawn moves two squares forward from its starting position and lands beside an opponent's pawn.
- Insufficient Material: The game declares a draw if neither player has enough pieces to deliver checkmate (e.g., king vs. king, or king and bishop vs. king).
- Fifty-Move Rule: A draw is declared if 50 consecutive moves are made by both players without a pawn move or a capture.
- Threefold Repetition: If the same position occurs three times with the same player to move and all possible moves available, the game is declared a draw.
- Two-player mode only: No AI or bot support; players take turns manually.
- Pause and Resume: You can pause the game and continue later.
- Restart Game: Start a new game at any time.
- Clone the repository and open the solution in Visual Studio.
- Build the solution to install necessary dependencies.
- Run the application to start playing chess!
This project was developed using guidance from the chess game development tutorial by OttoBotCode. The guide provided a comprehensive foundation for implementing chess logic and UI design in C#.
Here are some screenshots of the game:
- Add AI for single-player mode.
- Include additional chess rules and customizable options.
This project is for educational purposes. All rights reserved by the author.