For this assignment you will implement Connect Four. The game is played by two players who alternate dropping chips into a 7-column, 6-row grid. The first player to get 4 in a row wins.
Feature requirements include: -- A Swing GUI -- Support for 2-players playing at the same machine -- Support for a computer opponent that looks ahead a single move and makes that move if it results in a win
Design requirements include: -- Proper use of the Observer, Builder, Factory, and Singleton factor patterns. -- Unit tests for the non-GUI code.