generated from OPCODE-Open-Spring-Fest/template
-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Labels
Description
So, what is it about?
C++ Chess Game with AI
Overview
This project is a Chess Game implemented entirely in C++. It allows users to play chess against an AI opponent in the console, with all standard chess rules enforced.
The system is designed using Object-Oriented Programming (OOP) principles, making the code modular, maintainable, and easy to extend.
Features
- Play chess with all types of pieces: King, Queen, Rook, Bishop, Knight, and Pawn
- Human vs AI gameplay mode
- AI opponent uses algorithmic decision-making to determine optimal moves
- Console-based board display with ASCII representation
- Validates moves according to chess rules, including check, checkmate, and stalemate
- Optional: save and load game state
Requirements
- C++ Implementation: Entirely written in C++
- Object-Oriented Design: Uses classes like
Board,Piece,Player,AI,Game, etc. - Clean Code Practices:
- Meaningful variable and function names
- Proper input validation and error handling
- Well-documented methods and classes
Gameplay
- Players input moves using algebraic notation, e.g.,
e2 e4. - AI calculates moves based on algorithmic evaluation of the board.
- Game ends when checkmate, stalemate, or draw occurs.
Code of Conduct
- I agree to follow this project's Code of Conduct