COMP 303 Fall 2010
Milestone 1 - Basic Game Logic
$Revision: 1.2 $ $Date: 2010/09/14 12:47:16 $
Objectives
- To experiment with interface programming.
- To learn how to design, implement, and run unit tests with jUnit.
- To learn how to explore and use large class libraries to
efficiently solve development problems.
Setup
- Download the Project skeleton.
- Install Checklipse. Go to
Window / Preferences /
CheckStyle / New...
. Select Project Relative
Configuration, name "SWEVO Checks", Location
".../HeartsM1/swevo_checks.xml"
. Then right-click on the
project in the project explorer and select Properties /
Checkstyle
and select SWEVO Checks in the list. Checkstyle
should be enabled.
- Go to
Window / Preferences / Java / Code Style /
Formatter
. Click on Import
. Select the file
swevo_coding_style.xml
located in the Hearts
project. Rename the formatter "SWEVO". Now the auto-generated code
will match the style rules.
- Install EclEmma.
Required Problem
- Implement the following classes of the
util
package
according to the specifications described in the Javadocs:
- Implement all the classes of the
model
package according to the specifications described in the
Javadocs. The interfaces will be implemented through the class
skeletons already present. - Implement test classes for all
classes above. Your tests should achieve at least 100% line
coverage, but make sure to write tests for what you would expect to
be the most difficult parts of the implementation. Why isn't basic
line coverage sufficient to give you confidence in your
implementation in some cases? Link your test classes into
Milestone1Test.java
to run them all as a suite.
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
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 also include all
the SOURCE files when
you export your project. You are responsible for manually
verifying the content of the zip you submit. Every year, a couple of
groups forget this, no matter how big this message is.
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:
- Appropriate format of the deliverable (compiles, with all source
files available).
- Correctness of the code (how many of our unit
tests it passes. Note that we will test your code against our own
version of the tests.
- Overall quality and design of the code (whether it follows the
principles seen in class).
- Quality and thoroughness of the test
cases (how much of your implementation is covered by the tests).
- 5% bonus for teams registered on time.
Submission
Submit one version per team using WebCT before the hard deadline. You
are encouraged to submit early and submit often. Late submissions receive an
immediate penalty of 5 marks out of 25, with an additional penalty of
1/25 per hour (e.g., a submission 2hrs late receives -7/25=-28%). The submission site closes 12hours after deadline and
projects not submitted by then are not graded and receive a mark of
0%. See the main course web page for
deadlines and the details of the submission policy.