A fully featured Chess Game developed in C++ using the Qt Framework, combining a modern graphical user interface with a complete implementation of the official chess rules.
This project was built with a strong focus on Object-Oriented Programming (OOP), software design, and algorithm development. It offers an engaging gameplay experience through both Player vs Player and Player vs AI modes while ensuring that every move strictly follows the rules of chess.
The game includes comprehensive move validation for every piece, automatic detection of check and checkmate, turn management, and an intuitive graphical interface that allows players to interact seamlessly with the board.
- ♟️ Complete implementation of the official chess rules
- 👥 Player vs Player mode
- 🤖 Player vs AI mode
- ✅ Legal move validation for every chess piece
- 👑 Check and Checkmate detection
- 🔄 Turn-based gameplay management
- 🖱️ Interactive graphical interface built with Qt Widgets
- 🧩 Object-Oriented architecture for clean and maintainable code
- ⚡ Efficient game state and move management
- C++
- Qt Widgets
- Object-Oriented Programming (OOP)
- STL (Standard Template Library)
The project includes a Player vs AI mode.
The AI evaluates the current board position and selects valid moves according to the implemented decision logic, providing an engaging single-player experience.
This project fully implements the official rules of chess, including:
- ✅ All legal piece movements
- ✅ Capturing mechanics
- ✅ Check detection
- ✅ Checkmate detection
- ✅ Castling (King-side & Queen-side)
- ✅ En Passant
- ✅ Pawn Promotion
- ✅ Illegal move prevention
- ✅ Turn management
- ✅ End-game detection
Developed by: Issam Amirouch
The main objective of this project was to recreate the classic game of chess while applying software engineering best practices. Throughout its development, we focused on designing a scalable architecture, implementing complex game logic, and creating a responsive and user-friendly graphical interface.
Through this project, we strengthened our knowledge in:
Object-Oriented Programming Software Design Algorithms GUI Development with Qt Game Logic Implementation Artificial Intelligence Basics Team Collaboration Problem Solving
This project also served as an opportunity to strengthen our skills in software design, algorithms, GUI development, debugging, and collaborative development.
Whether you're interested in C++, Qt, or game development, this project demonstrates how these technologies can be combined to build a complete desktop application with real-world programming concepts.