Overview
This assignment is to be implemented using object oriented programming. It involves implementing a simulation of an adventure in time, tracing the history of some artifacts.
In
addition to providing code you need to:
_ Submit
a draft UML like class diagram indicating how your classes are structured and
related.
_ Submit
a _nal report, which contains the _nal UML like class diagram reecting the
structure in
your
code, and text/tables/diagrams addressing the points below:
1. The
characteristics of the chrononauts and the impact these have. The description
of the impact
should be
qualitative (descriptive), rather than quantitiative (numerical).
2.
Describe the 3 di_erent kinds of chrono{pet, and the impact each has. The
description of the
impact
should be qualitative (descriptive), rather than quantitiative (numerical).
3.
Describe the 5 di_erent sizes of population centre, primarily the relevant
population ranges,
and the
additional feature added for each. The relevance of those features should be
noted.
4.
Describe the impact of the 5 di_erent technological eras.
5. Briey
describe how each of the event mechanisms work. This may be tied to the
population
and/or
technology eras.
General
notes
These are
some general rules about what you should and shouldn't do.
1. Your
assignment should be sensibly organised with the same kind of expectations in
this area as
assignment
one, although you may reasonably have more _les for this assignment. No memory
leaks
etc. too.
1
2. Other than the initial command line input, the program should run
without user input.
In
particular this means there shouldn't be pauses waiting for the user to press a
key.
3. There shouldn't be pauses generally, please don't use sleep!
4. Your
code must compile on Banshee with the compilation instructions you provide in Readme.txt.
If it
doesn't you will likely receive zero for the coding part of the assignment.
5. You
have to use classes, and should make use of encapsulation.
6. You
must use inheritance. If you don't use inheritance you will lose a fair few
marks.
7. You
can use polymorphism, if it's appropriate.
8. You
need to overload operator++ as
explained later. Other overloading, if you use it, should be
sensible
and appropriate.
9. You
need copy constructors associated with the evolution and devolution of the
location.
10. You
can use your own data _les for names or similar information.
1 An
adventure in time
The year
is 2525, and you have been appointed to supervise a team of chrononauts
adventuring through
time to
collect information on the provenance and usage of various artefacts. The
general overview is
described
below, but most of the details are up to you.
Your code
should compile on Banshee according to instructions you provide in a Readme.txt _le.
Once your
program is compiled into the executable AAT,
it must run as follows:
./AAT n m
where n is the number of artefacts to be traced, and m is the number of jumps to be made for each
artefact.
The value of n should be in the range 1 to 5
inclusive. The value of m should be
in the range 1
to 10
inclusive.
Your
adventure takes place across the lifetime of a population centre, which in 2525
is a metropolis
but at
some distant historical point was a cluster of huts in a forest clearing near a
source of clean water.
You have
an initial clue as to a period in the past when information on the artefact
will be available.
Each jump
will take you to slightly before that date. You need to decide how to
appropriately reduce the
population
centre in accordance with the size and technological era.
After
each jump you step the population centre foward in time, year by year, using
the overloaded ++
operator,
until you _nd the information and an additional clue. It should typically take
5-10 years to _nd
both of
those. If no more jumps are allowed only the information needs to be gathered.
You
should be reporting on all of the details of the population centre when you
make a jump, so before
and
after. In the year by year stepping forward you can report on the technological
and population levels
each
year, and otherwise just on events and the impact they have.
Report on
the state of the chrononauts at the start and end of each jump period.
2
2
Simulation components
The
simulation is from the perspective of the chrononauts. You need to give
consistent and appropriate
de_nitions
for a class hierarchy associated with the various components of the adventure.
Get Free Quote!
319 Experts Online