A chess program using c++ and SFML/TGUI libraries.
Figure class have functions of checking if a move is correct and getting all correct moves.
King and Rook have additional functions for castle.
Game components contain classes for chess clock, players and history in algebraic notation.
Game field uses a matrix 8x8 of ptrs to the Figure. It has functions for saving/loading a game by json and making a move.
Has a render() function for drawing the game window.
Contains tests for GameState class, which check correctness of various game moves. It uses Catch2.