- Features
- Project Structure
- Requirements
- Installation
- Gameplay Overview
5.1 Main Menu
5.2 Single Player
5.3 Multiplayer
5.4 Review Games Mode - Contributions
- About
- Licence
- Board
- AI
- Exporter
- Importer
- Graphical Interface
- Ubuntu
- C++17 or higher
- SDL2
Here are the instruction to download, compile and run the code:
- To install the tools and libraries needed:
sudo apt update
sudo apt install -y git build-essential pkg-config libsdl2-dev libsdl2-image-dev- To clone the repo:
git clone https://github.com/alejandromolto/Chess.git
cd Chess- To compile:
make clean- To run the game (In the root directory):
./bin/chess_gameThe Main Menu is the starting point of the application. From here, you can navigate to different modes or review previous games.

In Single Player mode, you play against the AI. Use the interface to make moves, and the AI will respond according to the game rules.

The Multiplayer mode allows two players to play on the same device. Players take turns making moves until the game ends.

The Review Games Mode lets you go through previously completed games. Analyze moves and learn strategies by replaying each step.

Contributions are welcome and greatly appreciated, whether it's a bug fix or a new mechanic. To contribute, follow these steps:
- Fork the repository.
git clone https://github.com/alejandromolton/Chess.git
cd Chess.git- Create a branch for your feature or bugfix.
git checkout -b feature-name- Make your changes and commit them.
git commit -m "Add a descriptive message"- Push to your branch.
git push origin feature-name- Open a Pull Request here on GitHub and describe your changes. Go to the fork you created and generate a pull request, provided with a clear title and description of your changes.
The objective of this project is purely educational.
Through it, I learned a lot about:
- C++ and the transition from C
- OOP Paradigm
- SDL for graphical interfaces
- Basic AI in board games
- File handling
- Git
This project is licenced under the MIT licence.

