Implementing a simulation of an adventure in time

Assignment Help Other Subject
Reference no: EM132376026

Advanced Programming Assignment -

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 artefacts.

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 final report, which contains the final UML like class diagram reflecting 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 different 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 different 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 different technological eras.

5. Briefly 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 files for this assignment. No memory leaks etc. too.

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-like constructors associated with the evolution and devolution of the location, copy-like in the sense of being from an object of a related class.

10. You can use your own data files for names or similar information.

11. Output should only be to standard out or standard error.

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 file.

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 find the information and an additional clue. It should typically take 5-10 years to find 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. Simulation components

The simulation is from the perspective of the chrononauts. You need to give consistent and appropriate definitions for a class hierarchy associated with the various components of the adventure.

2.1 - Artefacts, clues, and information

You should randomly generate an artefact. It should have a name and some sort of description. It should also have an estimated source time which should be relevant in determining where you jump. Across the search for an artefact it's expected you will probably need to travel through at least two different technological eras.

The clues are effectively just a single number telling how much further to jump back for the next clue.

The information is a percentage of the information about the artefact.

2.2 - The population centre

There is only one population centre in the simulation but there are 5 different levels:

Hamlet, village, town, city, metropolis.

You need to decide the population ranges for each.

Each level should add relevant functionality on top of the previous one. It's up to you to determine what that functionality is.

As an example, a town may have a medical centre. The name of that functionality may change when going to a larger population centre, so it might be called a hospital in a city, but there should also be something distinctive added as well.

In jumping you need to determine if a transition is needed, initially from metropolis to city. Transitions should be managed using copy constructors between adjacent levels. This means if your jump takes you from a metropolis to a town you go via a city.

Usually moving backwards in time results in a population decrease, and forwards a population increase, but the rate should vary depending on the population centre and the technology level. You should likely determine a base growth rate, possibly with saturation points, and have modifiers based on the population centre level, technological era, and events.

2.3 - Technological eras

These are different time periods. These could be periods like the Stone Age, Middle Ages, or Information Age. It's up to you to determine what they are called and the impact they have.

Usually moving backwards in time results in a technology decrease, and forwards a technology increase, but the rate should vary depending on the population centre and the technology level. You should likely determine a base growth rate, possibly with saturation points, and have modifiers based on the population centre level, technological era, and events.

2.4 - Events

These occur within the year by year step with the chrononauts in the population centre. There could be development level and technology level change rates as a result of chrononaut influence, although they are supposed to limit this.

The following describe the events that could occur. The details are up to you, and there may not be an event every year.

1. Finding artefact information. Assume there is only one lot of information that can be found in a jump site.

2. Finding a jump clue. Assume only one jump clue can be found in a jump site.

3. Very small chance of discovering the artefact you have, "back" in 2525, is actually a fake. End of this search.

4. Illness ... Plague: Decrease population significantly. Could lose a chrononaut.

5. Skirmish ... War: Increase technology, decrease population. Could lose a chrononaut.

6. Technological breakthrough: Increase in technology.

7. Social revolution: Some sort of Decrease or Increase in the population, depending on the nature of the revolution.

8. Interactions between chrononauts and locals: These could be positive or negative, and could change population, technology, ... . It's up to you to determine the details.

9. Chrononaut specific event: There should be some specific event relating to the chrononauts that you make up.

To jump you have to obtain both the information and clue. The chances of these appearing should increase year by year, so that both should be found within 10 years.

2.5 - The chrononauts

Each chrononaut should have a name, actual age, and travel age. The actual age doesn't change. The travel age is the accumulated years spent in the population centre.

Provide characteristics for the travellers below to support their impact on the events. Each should have an ability level which influences how well they can perform their task.

The types of chrononauts are as follows:

  • Jump engineer: If you lose the jump engineer you are stuck. Jump engineers have special brain wiring that interferes with other functionality so they are otherwise pretty much useless, but they are also rare.
  • Doctor: Determines the likelihood of introducing or suffering from disease/death.
  • Historian: Determines the value of information.
  • Security: Determines impact of interactions with locals.
  • Chrono-Pet: Should have some impact, to be determined by you.

You expect that abilities will slowly improve, as a function of technology level.

2.6 - Wrapping things up

At the end a summary should be given for each artefact. This should include a list of the information elements found, and when they were found; and the overall information percentage found. Major events should also be listed.

Reference no: EM132376026

Questions Cloud

Determining the competitive strategy : What do you think is Amazon.com's competitive strategy? Justify your answer.
Facing tough anti-trust scrutiny from government agencies : Facing tough anti-trust scrutiny from government agencies, Microsoft provided financial support to Apple in order to ensure Apple's survival
How does the two-tier wage been using in an organization : What are the good and bad things of this plan? Do the employers, workers or organization like the Two-tier palm? Why or why not?
Prodive a detail of explanation of the accounting policies : ACCG224- Financial Accounting and Reporting- Macquarie University-Australia-Identify and provide a detailed explanation of the accounting policies and estimate.
Implementing a simulation of an adventure in time : CSCI851 Advanced Programming Assignment, University of Wollongong, Australia. Implementing a simulation of an adventure in time
Calculate the return of share prices : Calculate the return of share prices (rj) and market return (rm) (from market price index). Display the calculated returns along with risk free rate of return
What is the difference between two-tier plans : What is the difference between Two-Tier plans vs. traditional plans? What are the The pros and cons of Two-tier plans?
Few segments of the market and aim : Managers pursuing a focused differentiation strategy serve just one or a few segments of the market and aim to make their organization
Doctor with a high iq in the operating room : Let's say that you are the top brain surgeon in a teaching hospital and you are "leading" many upcoming doctors in their studies.

Reviews

len2376026

9/25/2019 12:07:28 AM

Notes on submission - Submission is via Moodle. Your code must compile on Banshee with the instructions you provide. If it doesn't you will likely be given zero for the programming part of this assignment. Please submit your source, so .cpp and .h files, Readme.txt file, data files in used, report, and make file if you have one, in a zip file A2.zip. There shouldn't be any directory structure within the zip file. Make sure your report is in pdf and has your name, student number, and lab class marked clearly on it. The final diagram should be in your final report pdf and not in a distinct document. It may be ignored if it's a non-pdf format.

len2376026

9/25/2019 12:07:21 AM

Your early diagram submission should also be in pdf, and should also have your name, student number, and lab class on it. You can split it across multiple diagrams if necessary. Late submissions will be marked with a 25% deduction for each day, including days over the weekend. Submissions more than three days late will not receive marks, unless an extension has been granted. If you need an extension apply through SOLS, if possible before the assignment deadline. Academic misconduct is treated seriously. Students involved will likely receive zero.

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd