COMP 303 Fall 2008

Milestone 1 - Basic Game Logic

Version 1.0 - 2 September 2008

Objectives

Required Problem

These instructions refer to the code you installed as part of Milestone 0.
  1. Study the implementation of the classes of the util package.
  2. Implement a class that provides the behavior specified in the util.ICardSet interface.
  3. Complete the implementation of class model.Hand. The most complex part of this assignment is the implementation of the autoMatch method. This method must always complete in less than 0.1 second. Algorithms that completely solve this problem are likely to be too slow: experiment with various heuristics that will solve the problem in the vast majority of cases, while being fast enough. You should use the tests available to validate that your implementation at least meets the basics.
  4. Complete class tests.TestICardSet with unit tests that tests every single line of your implementation of ICardSet.
  5. Complete class tests.TestAutoMatch to test as much of your implementation of model.Hand.autoMatch() as possible.
ATTENTION:You must reuse the class names provided in order for us to be able to run your classes with our tests. You can add new classes as you see fit.

Deliverables

  1. Your project exported in a zip file (Export | Archive File), including all the source, binary, and resource files. You project must compile and run immediately when imported in Eclipse. ATTENTION: MAKE SURE TO INCLUDE ALL THE SOURCE FILES WHEN YOU EXPORT YOUR PROJECT. You are responsible for manually verifying the content of the zip you submit.

Evaluation

This part will be marked out of 25 and will be worth 25% of the overall project grade. It will also be the foundation of your entire project so it is important that you do it well. In marking your project, we will looking for the following points:

Submission

Submit one version per team using WebCT before the hard deadline. If you are not done you must submit your partial solution. Late submissions receive a grade of 0. See the main course web page for deadlines and the details of the submission policy.