7.9.0.10

9 — The Humans

This milestone is entirely optional. You may earn up to 100 bonus points.

Due Wednesday, 25 November 2020, 11:59:59pm

Delivery Place the product of this week’s milestone into your repo as follows:

  • for the Programming Task, place

    • human-player.PP in the Player/ directory

    • game-visualizer.PP in the Admin/ directory

    • tournament-visualizer.PP in the Admin/ directory

  • for the Demo Task, place xgui in a repo-level directory named 9

You may create Other/ directories in both 9 and Fish.

Programming Task People want to watch games and tournaments; some even think they are better than AIs and wish to play games.

Design and implement exactly one of the following pieces of functionality and connect them to the existing code base:
  • a component that allows human beings to compete against AI players,

  • a component that visualizes the progress of games, or

  • a component that visualizes the progress of a tournaments.

Read up on the observer pattern if you choose to implement the second or third option. The program may use a desktop GUI toolkit or browser GUI toolkit.

The design of the visuals and/or interactions are up to you, and we will not evaluate those. We will evaluate your code.

Demo Task Create an executable named xgui The program consumes a single command line argument, the number of players involved in either a game or a tournament.

If you choose to implement a game observer, the xgui executable starts up a game with the specified number of AI players. If you choose to implement a human player component, the xgui executable starts up a game with the specified number of AI players plus one human player. If you choose to implement a tournament observer, the xgui executable starts up game tournament with the specified number of AI players. People should then be able to observe games, participate as players, or observe a tournament. As the program shuts down, it must remove the GUI elements too.