An old project of mine, back when I was learning game theory. A Monte Carlo simulation is run by the computer to play against a human.
The simulation is not really effective in this situation.
N, the number of simulations run on each turn, is small.
A higher N requires too much computation and is slow.
I, therefore, implemented a minimax alogorithm as well. The minimax algorithm is used by
default, since it is the most performant. To switch the algorithm used by the AI, use the play
method of the AI class.