|
Actual mark
|
Max
|
Program setup
|
|
9 |
|
Definition of
class Person |
|
3 |
|
Definition of class Obstacle |
|
2 |
|
Definition of class Empty |
|
2 |
|
Variable 'city'
properly declared and initialized as a list of references to objects |
|
2 |
|
|
|
|
File input and output
|
|
14
|
|
Program can read the starting
positions from a file of a single fixed size (e.g., 8 x 9 for "data.txt") |
|
2 |
|
The name of the
input file can be passed to the program as a command line argument |
|
4 |
|
The program can
read from an arbitrary sized (but rectangular) input file with the city
size dynamically determined from the file size. |
|
6 |
|
The program properly handles
the empty file case |
|
2 |
|
|
|
|
Display of the simulation
|
|
10
|
|
The starting positions of the
objects are the same as the characters in the input file (and in the
appropriate row-by-row fashion thereafter - as is the case with the
sample output files) |
|
2 |
|
Each list element
is bounded: above, below, left and right |
|
2 |
|
Each list element is annotated
with vertical and horizontal numbering |
|
2 |
|
The
vertical and horizontal numbering is dynamic and works for an arbitrary
sized city (max 36x36) |
|
4 |
|
|
|
|
Statistics displayed
|
|
11 |
|
Number of healthy people |
|
2 |
|
Number of infected |
|
2 |
|
Current population |
|
1 |
|
Current mortalities |
|
2 |
|
Total mortalities |
|
1 |
|
Infection rate |
|
3 |
|
|
|
|
Other program features
|
|
24
|
|
Simulation runs for a time
period specified at the command line as the program runs (2 marks if it
runs for a fixed number of hard-coded time units, 4 marks if the
simulation time can be specified as a command line argument + 1
additional mark if it can also properly handle negative time units) |
|
5 |
|
Display the current time and
the simulation end time |
|
1 |
|
The state of the infection
advances |
|
8 |
|
The rules for births has been
properly implemented |
|
8 |
|
Debugging mode implemented |
|
2 |
|
|
|
|
TOTAL (PROGRAM FUNCTIONALITY)
|
|
68
|
Special case: The program has been awarded full marks for style and
documentation, submission requirements properly fulfilled and the simulation
either uses QuickDraw (graphical display) or the 'disaster response plan' has
been implemented: A+ grade.