|
Due end
of reading period: 11:59 PM, Sun. Dec. 17,
2000
The final project is to write a simplified version of the classic video
game, Frogger.
- This is a group project: Form teams of
3-4. A group grade will be given out. Only
one project file is to be turned in per group.
Minimal Requirements:
- Only the mode of a safe "road" with
dangerous moving "vehicles" is required. That is, the
mode where the "frog" jumps across, trying to avoid moving "cars".
- The mode of of jumping onto moving "logs"
is not required.
- The "frog" should be able to move up,
down, left or right using the arrow keys. (No, you
haven't been told how to do this -- but you can figure it out by looking it
up in the Java docs!)
- There must be at least 5 lanes of
traffic.
- The lanes of traffic should be filled
with (seemingly) random numbers of vehicles at random spacings.
- The lanes should be going in various
directions. The vehicles in any given lane, obviously are all
going the same direction.
-
The lanes should have varying
speeds.
- There should be at least 6 separate
threads running in the program, counting the AWT event thread but not
any other non-student programmed threads.
- There must be at least 3 different types of
vehicles with different images.
- The "frog" must have at least 2 different
images (e.g. "alive" and "dead").
- The "frog" must have more than one "life" or that there be multiple frogs available
in a single game.
- A scoring system must be in place and
constantly updated.
- Be nice to your poor, old professor--put in a way that the
game can be slowed down so those of use with lousy reflexes can actually
win once in a while!
Final Hand-in Requirements
- The source code, complete and ready to
run.
- A detailed "user's manual" that describes exactly how to play
the game and what the game will do.
- Technical documentation that includes
- A written summary of the overall architecture of the system
and a synopsis of how the program works. That is describe the
fundamental pieces of the program and how they interact and for what
purposes. Be sure to include mention of any design
patterns that are used and why.
- Fully documented code with a Javadoc
"website": All classes, methods and variables must
be documented as to what they are and what they do.
- A neat, understandable UML diagram of the software
system. This diagram should be included as a picture in the
documentation, and should be part of the documentation
"website".
- The documentation should include a section on how one would
extend the program to add new features, such as more kinds of vehicles,
more lanes, different sorts of behaviors or whole new modes of
playing.
Milestones
To keep you on track, a series of graded milestones will be instituted as parts of
the regular laboratories. These milestones will
be due at the same times as their respective labs.
- Milestone #1 : Modeling Frogger
- Milestone
#2 : Making Traffic
- Milestone
#3 : Git-a-Move-On, Frog!
Grading Criteria
- Does the program work as
advertised? (Correctness)
- Are the instructions and code
documentation easy to understand?
- Does the program demonstrate good OOP
practices?
- Is the program robust, i.e. not prone to
failure?
- Is the program flexible?
- Is the program extensible?
Resources
- Application programs :
- frogger.zip --
Download this program and then run the executable directly from inside
of Winzip by double-clicking it or unzip it into the scratch directory
and play it from there.
- Web versions :
Please e-mail me about any other
resources you come across that are recommendable!
|