Project should be build in C++. Project requires Qt to work. It can be downloaded from here. Project was tested with Qt version 5.15.2 .
- Download Qt VS Tools as extension for Visual Studio
- Download Qt (msv2019) version from Qt website
- In Qt versions tab in Qt VS Tools add new Qt version (specify path to bin with qmake file.
It was university project where we worked in groups of 3. We created chess game where UI was created using QT. The only language of the game is Polish. Player can choose to play with other player (on same machine) or with AI. AI performs random moves, but captures figures when he can and defends king when king is checked. After the game player can replay whole game and save history of moves to file.
Main clases of project:
- Game Engine
- Board
- chess figures
- main GUI
- tests classes
Game Engine - supervises current state of the game, contains methods responsible for capturing figures, checks if king is checked, contains chess mechanics such as castling. Moreover the class contains primitive chess AI. Board - checks where figures can move and what moves are currently legal. Chess figures - manages creating, deletign and positioning figures on the board. Main GUI - main QT class which is responsible for displaying the whole game and capturing user inputs.
- add more tests - the game can still contain bugs because it was not tested enough
- the game AI is very primitive - the chess lack AI to compete with, solution for this can be better alghoritm such as Minimax
- better UI - The Qt design could be improved.
- add menu - there are no menu real at the moment, the options which include resolution and difficulty could be added.
- improve game mechanics - the game lacks some basic chess mechanics like the pawn promotion for other figure than queen or en Passant.
MENU:
GAMEPLAY:
The MIT License (MIT) 2022 - Krystian Grela, Aleksander Woś, Adam Wróblewski. Please have a look at the LICENCE.md for more details. We are NOT authors of gifs and chess figures images which are included in this project.




