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.

computer science

Description

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.


Related Questions in computer science category