Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

♟️ Chess Game - C++ & Qt

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.

✨ Features

  • ♟️ 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

🛠️ Technologies

  • C++
  • Qt Widgets
  • Object-Oriented Programming (OOP)
  • STL (Standard Template Library)

🧠 Artificial Intelligence

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.

♜ Complete Chess Rules

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

👨‍💻 Authors

Developed by: Issam Amirouch

🎯 Project Goals

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.

💡 Learning Outcomes

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.

Screenshot 2026-06-23 150328 Screenshot 2026-06-23 150536 Screenshot 2026-06-23 150401 Screenshot 2026-06-23 150340

About

♟️ A complete Chess Game built with C++ and Qt, featuring Player vs Player, Player vs AI, complete chess rules implementation, check/checkmate detection, and an interactive GUI.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages