User interface requirements: A command-line interface should be used for input and output. The user interface should: Display the board after every move, prompt user input, announce win/loss/tie at end of game, and display error messages when illegal moves are made.
Internal requirements: For reusability of code, separate the program into multiple classes.
You will need a GameDisplay class to display the board, prompt user input, and return error messages. No other class may output to the command line outside debugging.
You will need a GameController class to read in user input. No other class may accept inputs.
You will need a GameModel class to keep track of the game's state and check any rules.
Between these three classes, GameController will ask GameDisplay to prompt the user for input, and verify legality of moves with GameModel. After a valid move is made, GameModel should ask GameDisplay to display the board.
Dear Student, We have reviewed your assignment thoroughly based on details of your assignment... View the full answer