The goal of this assignment was to create a AI player (yellow) of the game Connect 4 and have it play against a player who moves randomly (red). For the AI player, we are using a minimax search to determine the best move by finding the move that will maximize the probability of a win, and minimize the probability of a loss.
The application uses two web workers to offload the processing of finding the next move away from the UI thread. This allows the browser to remain responsive, even though intense computations may be taking place. The status of the game is drawn on the screen using a canvas element.