CSPP 51090 & CMSC 22001: Software Construction Assignment 4 |
Due: April 27, 2004 |
Your task is to implement Scrabble-o-matic, which implements a fully automated version of Scrabble. [9pts] The program provides an administrator and a player. The administrator manages the board, the remaining tiles, and the game itself. Each player registers with the administrator. Once the game is started, the administrator gives each of the players one turn per round. The player plays according to this simple strategy:
To give you a starting point for your design, we provide a collection of Java-style interfaces: Whether you use Java or not, you must structure your program as these interfaces suggest. In Java, you must use these interfaces.The administrator does not need to be able to detect all forms of cheating, but it must be able to tell if a play results in a legal board position. If a player makes a play resulting in an illegal board position, that player is dropped for the remainder of the game. A board is a valid board if, for each square, one of the following conditions is met (in this order):
Of course, develop test suites for all of your code. But, be especially sure to develop test suites for the code that detects legal board positions and does the scoring. As a stress test, run two instances of the player in the server 100 times. Record the number of times each instance wins. [1pt] |
CSPP 51090 & CMSC 22001: Software Construction |