Checkers AI is a program which can play checkers against a human. It has a simple UI and an AI to play against named Steven. Kings are drawn with a yellow square representing the crown. The human player always plays as white.
The project was created as a way of implementing MCTS.
Checkers AI was programmed in C# using WPF for the user interface. There is a component (
Checkers.cs) which models the game of checkers that exists separately from the UI and the AI.
The AI uses the Monte-Carlo tree search algorithm, which randomly samples games in order to find the move most likely to win. MCTS is not an ideal algorithm for deterministic games of perfect information, but the AI is challenging enough to beat a beginner and can be beaten by a player with some practice. An algorithm like alpha-beta pruning would perform better and with more efficiency.