Chess game built in C++ using OOP principles.
- Inheritance structure for pieces and players, providing compartmentalization for different aspects of the game.
- Allows player vs player, player vs computer, and computer vs computer.
- Three different levels for the computer, with the highest level being able to detect capture moves and avoid capture.
- Observer design pattern to update the terminal and graphical display.
- Smart pointers throughtout for automatic memory management.
- A setup mode, which allows the user to create their own starting position and play from there.
- Run
make
. - Make sure to have X11 forwarding enabled for the graphical window.
- Run the executable
./chess
. This will take in input until the end of file execution.
- Type in
setup
to enter setup mode. You may only enter setup mode if you're not in a game. - In setup mode, you start with an empty chess board and you place pieces as you wish.
- Type in
game human human
to enter a game. - Or type
game computer1
orgame computer2
to play against a computer.
See the test folder for example input.