My goal was to write a program that would allow you to play Othello with the computer, which is supposed to be a "smart" player. It works by creating a tree of linked lists containing possible moves. The first layer has all the moves the computer can currently make, the next has all the moves the opponent can make if the computer made each of the previous moves, etc. The cutoff depth for the tree is currently 5 layers, after which each board position is evaluated. The evaluation is based on number of available moves, frontier disks, stable disks, and number of disks. After the leaf nodes are evaluated, a minimax search of the tree is used to pick the best move.

 

play my game

(Enter moves using the grid coordinates "row, column". The comma is VERY important. Do not forget the comma :))