This is a C program that implements a simple checkers game with a variant of rules and an artificial intelligence agent that uses the minimax algorithm to play against the user. The program can read input from stdin, write output to stdout, and print the board configuration and legal actions after each move. The program can also compute the next best action for the player using a tree search of depth three, or play ten next actions automatically. The program uses dynamic memory allocation and linked data structures to store and manipulate the board state.
The program was developed as part of the Foundations of Algorithms course at the University of Melbourne in Semester 2, 2021.