COMP 303 Fall 2010
Milestone 3 - GUI and Integration
$Revision: 1.1 $ $Date: 2010/10/26 20:34:00 $
To provide an opportunity to gain additional experience and skills with:
- GUI Programming
- The Observer design pattern
- Complete application development and deployment
Implement the GUI module (see the project overview) to complete your
This module should allow users to play an unlimited number of games
against computer players. Your GUI should contain at the very least
the following elements:
In addition, the GUI module should enforce the rules of the game
(e.g., it should only reveal the computer player's cards once
they would be visible in an actual game). It should also not be possibly to corrupt the GUI or to
trigger invalid actions.
- A visual representation of the human player's cards
- A visual representation of each computer player's cards
- A visual representation of the cards played in each turn.
- Visual cues as to the state of the games, including players'
decisions (plays, exchange, etc.). You don't need to explicitly
represent every state, but it should always be clear from the UI what
state the game is in, what happened, and what should happen next.
- A visual explanation of game points at the end of a game (e.g., cards accumulated and total
- An "autoplay" mode, where if a certain key or button is pressed, the human player's move is automatically played by a robot.
- The possibility to change the name of each player.
- The possibility to change the smartness level of each robot.
Implement or expand additional features, such as the additional features
proposed for Milestone 2. You can discuss feature ideas with the
Bonus marks for this part of the project will depend on the overall
quality of the project and are at the discretion of the instructor.
In addition, the TAs and instructor will also select a best project,
which will be publicly released on the course webpage (with the
- A project zip file file containing all your code and class
files. Please submit
through WebCT. See the schedule for the deadline.
- A UML class diagram modeling the design of the GUI.
The diagram must be in jpeg format.
This part will be worth 40% of the
overall project grade. In marking your
project, we will looking for the following points:
- Overall quality of the design
- Correctness of the code (i.e., freedom from bugs)
- Completeness of the functionality
- Quality of the class diagram
- Interface quality (layout, responsiveness, etc.)
- Overall project quality
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 8 marks out of 40, with an additional
penalty of 2/40 per hour (e.g., a submission 2hrs late receives
-10/40=-25%). 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.