A Tic Tac Toe game written in Java.
This game features two modes: 2 player mode and an AI mode.
The AI has as a 'normal' mode and an 'unbeatable' mode where it cannot lose. The unbeatable AI was created using the minimax algorithm (with recursion).
The program incorporates multiple Java design patterns and OOP principles.