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.