GUI based Connect 4 game using Monte-Carlo Tree Search for both single player and multiplayer using Java. I would like you to help me with the software design, using software engineering architectures (MVC, or facade, or etc).UML diagrams, class diagrams and basic descriptions of classes and methods inside each of the respective classes would be ideal. So basically I need some sort of instructions on how many classes would be appropriate, descriptions of the methods in each of these classes and a brief description of the variables required.
In my current situation, I am an able programmer which means I can carry out tasks (write code) as long as I have instructions on the whole design.
I would like to use Upper Confidence Bound as the selection algorithm based on the cumulative reward.
Here are the basic requirements:
1. The program must have a full object-oriented design, with a full implementation life cycle using modern software engineering principles
2. The program should have a GUI for game play, for the case of two human players, and one player against the computer.
3. The user should be able to set parameters of MCTS (depth of search, number of rollouts used, etc).