This program is chess engine with a basic ai. The program provides a simple interface for making moves and will validate legal moves and observe end of game conditions.
In addition to that, the engine allows for a customizable board of any size, with gaps in the board, and arbitrary piece location.
The ai will also adapt to these board conditions and adjust play.
There are several AI programmed in with varying strengths.
MinMaxAI
The default AI. It will construct a tree of all possible moves and determine the best recursively.
It uses a simple MinMax search and will prune branches it deems pointless;
FastMinMaxAI
Similar to the MinMaxAI, it will perform simpler calculations in order to search more quickly and more deeply.
