Description
Your assignment is to create a connect four game. The game consists of two people who alternately drop their unique game piece down a column of the gameboard. Once a player has 4 pieces in a row either horizontally, vertically or diagonally, then they win the game.
You will need to use the following interfaces for your implementation.
ConnectFourPlayerInterface and ConnectFourGameInterface
This is important because I am also contributing to your solution and have written the class
ConnectFourDriver which will create an instance of your class and run the game. Of course, I wouldn’t know how to do that (which methods to call) if you weren’t using these interfaces.
You will notice that the constructor for a player can accept either a string that will refer to the name of the player or no parameters meaning the player name should default to “Group ”.
You will need to implement the functionality of the game and create a player class to do so. Your game should play indefinitely until a player selects not to play again.
An example execution of the program may look like this,
>$ java ConnectFourDriver
Bob select a single char game piece
a
Player select a single char game piece
b
Welcome to Connect Four!
…….
…….
…….
…….
…….
…….
Player 1: Bob select a column
0
…….
…….
…….
…….
…….
a……
Player 2: Player select a column
1
…….
…….
…….
…….
…….
ab…..
Player 1: Bob select a column
0
…….
…….
…….
…….
a……
ab…..
Player 2: Player select a column
1
…….
…….
…….
…….
ab…..
ab…..
Player 1: Bob select a column
0
…….
…….
…….
a……
ab…..
ab…..
Player 2: Player select a column
1
…….
…….
…….
ab…..
ab…..
ab…..
Player 1: Bob select a column
0
…….
…….
a……
ab…..
ab…..
ab…..
Bob has won the game
Would you like to play again? y/n
n
Bob (Player 1) has 1 wins and Player (Player 2) has 0 wins.
>$
Grading:
Correctness: You can lose up to 20% if your solution is not correct
Quality: You can lose up to 20% if your solution is poorly designed
Testing: You can lose up to 20% if your solution is not well tested
Explanation: You can lose up to 40% if you cannot explain your solution during the grading session
CSCI 605



