I need to get a basic game going by expanding your work from the first two steps. Now only allow users to place disks in squares that correspond to valid moves and flip any disks that this move captured. Note that a player might capture disks on a horizontal, vertical, or diagonal line (or any combination of the three) between the newly placed piece and any of the player's old pieces. Also make sure to check if the game is over after each move. If the game is over, calculate who wins and pass all this information to the gui through the update method.

Here is my code thus far. I am stuck on where to start the algorithm :
Board class: