A chess game implemented in C++ using SDL 2.0 with a chess engine and PGN testing framework. Chess rules obeyed following the FIDE Laws of Chess article: https://www.fide.com/FIDE/handbook/LawsOfChess.pdf
Please run the following in order:
./setup.shcmake .make chess.out(ormake tester.out)./chess.out(or./tester.out)
- Full chess game with all standard rules (castling, en passant, promotion)
- SDL2 graphics with piece sprites and interactive board
- Press
Mduring gameplay to view game notation - PGN parser that validates the engine against grandmaster games
- Move validation system
Tested against thousands of grandmaster games including:
- Complex endgames
- Smothered mate scenarios
- Games with unusual moves (underpromotions, 260+ move games, checkmating with en passant)
- Edge cases and rare positions
main.cppMain game executabletester.cppPGN parser and engine validation toolsources/Chess engine implementationheaders/Header files for pieces and game logicresources/Game assets (sprites, fonts, textures)pgn_games/PGN files for testing
- SDL2 development libraries
- SDL2_image development libraries
- g++ compiler
- Object-oriented design with separate classes for each piece type
- Move validation system
- Support for all chess rules including special moves
- Memory-safe C++ implementation
- Cross-platform through SDL2