In this homework, you will write your game of Connect Four program in C++ using object oriented
techniques. Your main class for this homework will be named ConnectFour. This class will have a
private inner class named Cell to represent a Connect Four cell. The class Cell will hold the
position of the cell (A, B, C, etc) and the row number (1, 2, 3, etc). This class will also include all
necessary setters/getters, constructors etc. Remember a cell can be empty, user (user1, user2) or
Next, write a class named ConnectFour to represent and play the game. The class
ConnectFour will hold a vector of vector of Cell objects to represent the living cells. In other
words, this class will have vector< vector
The class ConnectFour will also have the following features and functions
• There is no limit for the board. Your game will resize according to the parameter for the
• There should be at least 3 constructors.
• The class will have functions to read and write from files. You will decide on the file format.
• The class will have functions to return the current width and height of the board
• The class will have a function that displays the current board on the screen
• The class will have two functions named play that plays the game for a single time step. First
function does not take a parameter and it plays the computer. The second function takes a cell
position and it plays the user.
• The class should have a function that returns if the game ended.
• The class should have a function named playGame. This function plays the game by asking
the user the board size first then asks the user to play and the computer plays, etc.
• The class will have a static function that returns the number of living cells in all the games. Be
careful here because there could be more than one game active at the same time.
• The class will have a function that takes another object ConnectFour as parameter and
compares the Connect Four games. It returns true is the first game is better for the user, otherwise it
• Any other functions (public or private) needed.
Write your main function to test both classes. Make at least 5 objects of class ConnectFour and
play the games at the same time.
You will use all the object oriented techniques that we learned in the class including const,
static, inline keywords.
Do not use any C++ features that we did not learn during the lectures.
• Do not use any functions from the standard C library (like printf)
• Read the chapter about file input output for reading and writing text files using streams.
• Do not use anything that we did not learn in the lectures.
• Do not forget to indent your code and provide comments.
• Check the validity of the user input.
• Test your programs very carefully at least with 10 different runs. Submit at least two
saved files with toue HW.
• You should submit your work to the moodle page.