This is a fully functional chess game developed using Python and C++. The game features a graphical interface built with Pygame, an AI opponent using Stockfish via UCI (Universal Chess Interface), and various gameplay modes.
- Graphical Interface: A user-friendly interface built with Pygame.
- AI Integration: The game includes an AI opponent powered by Stockfish and the Minimax algorithm with Alpha-Beta pruning.
- Game Modes:
- Player vs Player (Local multiplayer)
- Player vs AI
- Custom game setups
- Fairy Chess (Custom rule sets)
- Fischer Random Chess (Chess960)
- Performance Optimization: Python and C++ are integrated using Sockets for efficiency.
- Chess Engine Analysis: Game positions are evaluated using Stockfish’s evaluation function.
- Python (Main implementation language)
- C++ (For performance-critical components)
- Pygame (Graphical user interface)
- Stockfish (AI Chess engine via UCI)
- Sockets (For communication between Python and C++)
- Minimax Algorithm with Alpha-Beta Pruning (For AI decision-making)
- Proper task distribution among team members.
- Debugging a large codebase.
- Integration between Python and C++ using sockets.
- Efficient representation of the chessboard.
- Multiplayer Mode (Online play)
- Reinforcement Learning AI
- Improved User Experience with additional features.
- Hassene Kallala
- Mouad Jbili
- Hamza Ferssiwi
- Adam Hatim