CSPP 51090 & CMSC 22001: Software Construction Assignment 7

Due: May 18, 2004
Part I: Make two modifications to your program:
  • Modify your program so that it plays with 9 tiles, rather than 7. Refactor the program so that changing the game from the 9 tile variant to the 7 tile variant requires changing exactly one 7 to a 9 in your source code. [2pts]
  • Modify your program so that it plays with an arbitrary number of players (well, not so many that you run out of tiles), instead of just two. The administrator should accept players until it reaches the maximum that make sense (depending on how many tiles are initially given to the players, as above). When playGame() is called, the administrator just begins playing with all of the registered players. See the revised sequence contract administrator.java. [2pts]

Part II: Design and implement a player that takes input from a GUI (a.k.a., a Human player). Before you start coding, mock up a picture of how the interface works (include stories that describe how people will manipulate the GUI). Don't assume that there is only one Human player per game (but one per window is a good assumption). [6pts]

As part of your GUI implementation you may want to consider making a board-viewing window class that you can also use via the administrator to monitor games. This is not required, but if you plan ahead it should be easy and will be useful.



CSPP 51090 & CMSC 22001: Software Construction