This is a simple chess engine I implemented from scratch in a university project 'Algorithm Engineering'.
By executing the main.cpp you can
- [s]etboard set position to
- [i]nitial setup initial position
- [k]iwi setup Kiwipete position (useful for perft tests)
- [b]oard view current board
- [e]val view evaluation of the current position
- [p]erft test the move generation on current position
- [d]ivide run a perft split by move on current position
- [l]ist list the legal moves for current position
- [m]ove play the move
- [u]ndo undo last played move
- [c]alculate calculate best move for current position
- [g]ame start a game against the engine on current position
- [ccg]ame start a game engine vs engine on current position
- [q]uit quit