A local two-player chess game built with Python and Pygame. The game includes custom graphics, a selection of visual themes, sound effects, move history navigation and automatic game saving.
- ✔️ Local two-player chess
- ✔️ Custom graphical themes:
- Blue
- Classic
- Green
- Metal
- Wood
- ✔️ Move history navigation:
- Go to first move
- Step backward
- Step forward
- Go to last move
- ✔️ Board rotation based on active player
- ✔️ Sound effects for various game actions
- ✔️ Automatic save and resume of previous game state
- ✔️ Original artwork designed in Adobe Illustrator (MIT licensed)
- ✔️ Full chess rules implemented (castling, en passant, promotion, check, checkmate, stalemate)
git clone https://github.com/aleksanderZak7/pygame-chess.git
cd pygame-chess
python Chess.pyThis project requires Python 3.8+ and the pygame library.
pip install pygame- Check: Check
- Castling: Castle
- Capture: Capture
- Piece move: Move
- Illegal move: Illegal
- Promotion: Promote
- Game end: Game End
- Game start: Game Start
- Return to menu: Menu Selection (Pixabay)
- Customize screen: Car Light Switch (Uppbeat)
- Theme selection: Finger Snap – Raw (SampleFocus)
pygame-chess
│
├── Chess.py # Game entry point
├── src/
│ ├── game_control/ # Game state and core logic
│ ├── pieces/ # Chess piece classes (Pawn, Rook, etc.)
│ ├── views/ # UI screens (menu, game screen, etc.)
│ ├── project_assets/
│ │ ├── audio/ # Sound files
│ │ ├── img/ # Custom images
│ │ ├── SS/ # Screenshots
│ │ └── UML/ # UML diagramsThe project includes the following UML diagrams that illustrate the class structure and gameplay flow:
- Complete UML Class Diagram:
- Complete UML Game Activity Diagram:
This project is licensed under the MIT License - see the LICENSE file for details.



