This is an implementation of a simple Tic-tac-toe game with 3 levels of difficulty. It comes with a simple-to-use GUI.
The best move for a computer is determined by the Minimax algorithm. For a game as simple as 3 X 3 Tic-tac-toe, alpha-beta pruning is not needed, and a simple minimax with memoization is sufficient.