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 your design and implementation, and the results generated by the simulation.
The Challenge
You will be simulating the behaviour and interaction of one or more puppies/dogs. The yard the dogs live in consists of grassed area, garden, fences, gates and house. We will view it from above. Your simulation will include dogs/puppies (multiple types possible), squirrels (a major distraction), humans (various types), yard/house (sectioned by surface and accessibility), toys and food sources, and senses (sight, smell and sound). This will be plotted as a top-view of the activities. The model can be assumed flat/2-D – there may be bonus marks for 3D, but not required.
We will provide some sample code to start this assignment, and additional code showing a range of approaches to assignments from previous semesters. For the assignment, you will develop code to model the dogs using objects, and to add features to the simulation (e.g. food, toys, humans and interactions). Your task is to extend the code and then showcase your simulation, varying input parameters, to show how they impact the overall simulation.
1. Animals: Represented as objects that “know” their position, name, colour and age and can strategise on their next activity. You should have at least Dogs/Puppies and Squirrels Prompts: How will you represent the animals themselves, and differentiate between them in the simulation? How will they move and decide between movement options? Will they get hungry/thirsty/lonely/bored?
2. Humans: Humans will have varying relationships with the Animals. Some will be owners/friends, some strangers/intruders. Humans will bring food and may play with the dog(s). Prompts: How will you differentiate the humans? How will the dog sense the types of humans? Will there be a regularity of interaction, e.g. feed/play at certain times?
3. Food Sources/Toys: The main food sources for the dogs are given by humans. Your animals should have a value for energy/hunger that is increased by eating and decreases over time. Food sources should deplete as they are eaten. Toys can be played with and moved from place to place. Items may be buried, then found via smell. Prompts: How will the animals find and respond to food sources? How will you track energy and the food source(s) being eaten? How will a toy be “carried”?
4. Senses: Each creature will have a way of sensing the world around them. You should have sight and smell as a starting point, then potentially add hearing. Prompts: How will you code the “sight” of the animals? Many aspects of the simulation will have a smell, which may be in a trail that fades over time. You might do this as a parallel grid Which senses/events will take priority?
5. Terrain and Obstacles: There should be at least two types of terrain – back yard and house. Different animals will traverse their terrains in their own manner, although within a class they should have the same patterns. Obstacles might be fences, walls or doors/gates. Prompts: How will the animal know what terrain it is in? How will this affect their choice of movement for each time step? How will they get around obstacles?
6. Collisions/Interaction: How will your creatures seek out or avoid each other? They will need to detect each other and take action, with a decision being made on the outcome of any interactions. Prompts: How will you detect a collision is imminent? What strategies will you have for the animals to avoid each other?
7. COMP5005 additional item - Time: How will the behaviour of the creatures change with time? There needs to be an indicator in the simulation of the time, and the simulation must change over time. Time can be a day/night cycle, a cycle of seasons in the year, or the aging/maturation of animals/people over years. Prompts: How does the progression of time affect what you have included in parts 1- 4? How will you represent the passing of time to the user?
There are marks allocated for flexibility and usability. For example, changing terrain input file, or numbers of animals in the yard can give very different simulations. You can begin with hard-coded values and filenames, but should move to prompting for values, or a better approach is to use command line arguments to control the parameters of the experiment/simulation. Configuration files can also be used.
Your code should include comments to explain what each section does and how. Apply PEP8 and other style guides throughout - this will affect your readability score in our marking. Also beware of using while/True, break, continue and global variables – these are all discouraged in the unit – even if you see examples of their use online.
Overview
Describe your program`s purpose and implemented features.
Traceability Matrix: of features, implementation and testing of your code. The matrix should be a table with columns for:
Discussion: of implemented features (referring to the Traceability Matrix), explaining how they work and how you implemented them. A UML Class Diagram should be included for objects and their relationships.
Showcase of code output, including three different scenarios:
Introduction: Describe how you have chosen to set up and compare the simulations for the showcase. Include commands, input files – anything needed to reproduce your results.
This COMP5005 – IT and Computer Science has been solved by our PHD Experts at UnilearnO. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK and US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics and referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.