Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
CS261 Data Structures Assignment
1 Preamble
In practicals you have implemented and learned about simulations, object-orientation and (soon) how to automate the running of multiple simulations. In this assignment, you will be making use of this knowledge to extend a given simulation to provide more functionality,complexity and allow automation. You will then report on the results generated by the simulation.
We will be simulating the movement of classes of beings in an environment – each with independent behaviour and interaction rules that are impacted by a change in “mode” for the simulation. Your simulation should allow for a varying set of strategies for movement, based on the mode. Examples would be the game of ‘What’s the time, Mr Woolf?”, PacMan games and (a serious scenario) evacuation responses.
You will be given some sample code, showing a range of approaches to similar problems. For the assignment, you will develop code to model the beings using objects, and to add features to the simulation (e.g. more functionality, statistics, graphics). Your task is to extend the code and then showcase your simulation, varying the input parameters, to show how they impact the overall simulation.
The required extensions are:
Prompts: How do they move towards or away from targets/threats? Are they sometimes faster or slower? Are they always active, or does time have an impact?
Prompts: How can beings move between cells taking barriers into account? How do you stop them moving to invalid spaces? How might the beings negotiate height?
Prompts: How do you recognise a target/threat is near? Add rules as to what happens when different combinations of beings meet.
Prompts: How do you recognise the location of the non-moving targets/threats? Can your beings “see”, or do you do a scan of the area and base movement on that?
Prompts: How will you differentiate the beings? Are they the same throughout the simulation? You may choose an “image” representation, to improve on using coloured dots.
Note: Your program should allow command line arguments to control the parameters of the experiment/simulation.
Your code should include comments to explain what each section does and how. It is useful to keep track of your changes in the comments at the top of the program. Feel free to re-use the code and approaches from the lectures and practicals. However, remember to cite and self-cite your sources. If you submit work that you have already submitted for a previous assessment (in this unit or any other) you have to specifically state this.
Beyond the working program, you will submit a documents: the Simulation Project Report.
There will be bonus marks for additional functionality and the use of more advanced programming techniques (e.g. interactivity, high quality visualisation, 3D space, parameter sweep etc.) but only if they’re sensible and done well. Make sure to discuss the additional work in your Report, this will be easy if you make notes and keep old (incremental) versions of your code.