This assignment is worth 20% of the marks for the unit, corresponding to 20 hours of work. Deadline for submission of zipped BlueJ project file by email is Monday 30th April. Late submission will be penalised as follows: 1 day late 10% penalty; 1-2 days late 20% penalty, 2-3 days late 50% penalty.

Warning on Plagiarism

It is easy to find implementations of this game on the web. However, copied solutions will not be accepted and you will receive zero for the entire unit if any part of your solution has been directly copied.

Aims and Descriptions

The aim of the assignment is to develop, using BlueJ, a class TicTacToe which plays the game tic-tac-toe. You can see an implementation of this game here. The game will be played with a command-line interface which accepts different user commands.

I suggest that to begin with version 1, you create two classes

Magic Square

You may if you wish make use of a magic square to determine whether a given board situation is a win or a lose. The basic property of a magic square is that a straight line of three squares always adds up to the same number. The following is an example:

8 1 6
3 5 7
4 9 2