Skip to content

incep-tives/Chess

Repository files navigation

Chess

C++ version will no longer be maintained. Will now be using C#

Open Source Chess program
A C++ chess application featuring classic chess rules with a basic GUI and optional integration with the Stockfish engine.


Features

  • Standard Chess Rules
    Implements classic chess movement and rules, including:

    • Pawn movement (single/double, captures, en passant)
    • Castling (kingside and queenside)
    • Pawn promotion (promotion dialog included)
    • Check and check detection
    • Move legality checking
  • Modes

    • Singleplayer vs Stockfish: Play against a built-in Stockfish engine with selectable difficulty/ELO settings.
    • Multiplayer (Local): Two players can play on the same computer.
  • Stockfish Engine Integration

    • Supports engine ELO/skill adjustment
    • UCI protocol communication via dynamic loading (Engine.dll)
    • FEN serialization for communicating board state
  • Basic GUI

    • Piece and board image customization
    • Dialogs for selecting color, game mode, and difficulty

Getting Started

Prerequisites

  • C++17 or newer
  • CMake (build system)
  • Make (recommended for UNIX systems)
  • On Windows: Ensure access to Engine.dll (Stockfish engine)

Build Instructions

git clone https://github.com/incep-tives/Chess.git
cd Chess
mkdir build
cd build
cmake ..
make

Running

  • On UNIX: ./Chess
  • On Windows: Chess.exe
  • For Stockfish support, ensure Engine.dll is available in the executable directory.

Project Structure

  • main.cpp – Main application entry and UI/dialog logic
  • /game/ChessBoard.{cpp,h} – Core chessboard and move validation logic
  • /game/ChessGame.{cpp,h} – Game state management
  • /game/StockfishEngine.cpp – Stockfish engine interface (dynamic loading)
  • /stockfish/ – Embedded Stockfish sources (for reference and DLL build)
  • CMake/Makefile – Build scripts

Limitations

  • No online play (local only)
  • No move history or PGN export (move list function is a stub)
  • No save/load games (FEN support is only partial)
  • No advanced GUI features (minimal dialogs only)

License

  • Chess app: MIT or as specified
  • Stockfish: GNU GPL v3 (see /stockfish)

Credits

  • Chess app by @incep-tives
  • Stockfish by the Stockfish developers

About

Open Source Chess program

Resources

Stars

Watchers

Forks

Packages

No packages published