This is a Python implementation of a two-player chess game with all the standard chess rules, functionalities, and graphical interface using Pygame.
- Play chess against a friend locally on a single machine
- Complete implementation of the standard chess rules, including castling, en passant, and pawn promotion
- Interactive graphical interface with a chessboard and chess piece sprites
- Turn-based gameplay with visual indications for player turns
- Keyboard input for game controls:
- Press "R" to reset the game
- Press "T" to change the theme of the chessboard
- Basic graphical themes for the chessboard, providing a visually appealing experience
- Planned extension: AI opponent for single-player gameplay (coming soon!)
-
Make sure you have Python 3.x installed on your system.
-
Clone this repository to your local machine or download the source code as a ZIP file.
-
Install the necessary dependencies using pip:
pip install -r requirements.txt
-
Open a terminal or command prompt and navigate to the project's directory.
-
Run the game using the following command:
python ./src/main.py
-
The game window will open, and you can start playing chess with a friend!
- Visit the Releases page of this GitHub repository.
- Download the installer and follow the instruction to install the game (ChessGameSetup.exe). Uncheck the auto run at the end of the installation. (Because, there is a bug to be fixed in the auto run)
- Go to the installed directory
- Open the main.exe executable file
- The game window will open, and you can start playing chess with a friend!
- Mouse: Click and drag a chess piece to move it to a valid position.
- Keyboard:
- Press "R" to reset the game and start a new match.
- Press "T" to change the theme of the chessboard.
- Implement AI opponent for single-player gameplay to enable playing against the computer.
- Enhance the user interface with additional themes and customization options.
- Add additional game modes or variants, such as timed matches or chess puzzles.
- Improve the overall user experience based on feedback and suggestions.
Contributions to this project are welcome! If you have any bug reports, feature requests, or improvements, please open an issue or submit a pull request.
This project is licensed under the MIT License.
Feel free to use, modify, and distribute this code for personal and educational purposes.