I'm very new to Java and i'm struggling a little with a project we've been set. I have to make a TicTacToe game, and it must contain 5 classes only : a driver class, GUI class, an abstract class for a computer player (randomly chooses between two strategies) which is extended to two classes of a Strategic computer class and a dumb computer class.
Everyone has different views on what should be on each class so I wanted a clarification.
My "driver" class includes the main method calling on the GUI class. And my GUI class consists of all GUI components, and the computer classes containing all the computer moves. I wanted to know where I would put all codes regarding to checking for a winning combination and invoking the computer moves?
Some say in the GUI class but some argue that this will be going against the SOLID principles. Then some say it should be in the driver class? But I am little unsure as to how I would make my driver class interact to check winning moves?