Foundations of C++ Assignment 3 – Hunt the Wumpus |
Due Date: Friday 19th October 2018 Weighting: 25% of your final mark for the unit Submission Instructions: A zip file containing your Visual Studio project and the associated documentation files (design and reflection) must be compiled and uploaded to the Moodle site. Your code MUST be submitted as a Visual Studio project to facilitate ease of assessment and feedback. Task Details: This assignment consists of one main programming task. The purpose of this assignment is to have you design and implement an object-oriented program in C++, as well as reflect on your approach and design choices. The assignment comprises the following components: A diagram with annotation that describes your object-oriented design The completed program Successful completion of the fundamentals of the task as described may obtain you up to a maximum of 80% of the total assignment marks. The last 20% of the mark will be allocated to additional functionality that you can design. The additional functionality should demonstrate advanced or more complex application of principles covered to date. It need not be large amounts of work but should demonstrate a willingness to explore new and advanced concepts. You MUST detail what you have done in an accompanying “readme” file, otherwise markers may not be aware of the extra work undertaken. The assignment must be created and submitted as a Visual Studio 2017 project. You may complete the exercises in your preferred IDE, however you should create a Visual Studio project in order to submit. Your project folder must be identified by using your name and assignment number, such as YourNameA3. The entire project folder must then be zipped up into one zip file for submission. The zip file MUST be named “FIT1048-AA3-YourAuthcateID.zip”. This zip file must be submitted via the Moodle assignment submission page. Explicit assessment criteria are provided, however please note you will be assessed on the following broad criteria:
|
Foundations of C++ Assignment 3 – Hunt the Wumpus |
Assignment Task 3: Hunt the Wumpus “Well met, young adventurer and welcome to the peaceful realm of Silven Valley. Actually, it used to be peaceful until the Wumpus, a vile creature, took up residence in caverns nearby. It has been terrorising the villages all along the valley for a long time now. So, the elders from the villages have banded together to offer fame and fortune to the worthy adventurer who will rid their valley of this dreaded monster! You have answered the call and have been told by the elders that the creature is lurking in one of the cavern complexes in the surrounding hills. All you have to do is find the creature and slay them … simple! Good luck!! You’ll need it!” Basic Game Play The Wumpus lives in an underground cavern consisting of 20 smaller caves. Each cave has 3 tunnels leading from it to other caves. One example of a cavern complex is shown here (like a squashed dodecahedron). Besides the Wumpus, there are several other hazards that could be fatal. These include two caves with bottomless pits – if you happen to go into them, you fall into the pit (and lose). Two other caves have super bats – if you stumble in them, you are immediately carried away by the bats and left in a random cave (would be annoying to say the least). The Wumpus, on the other hand, is not bothered by these hazards (he has sucker feet and is too big for the bats to lift). It is usually asleep, only waking up if you blunder into its lair or if your shot goes astray (clattering weapons do echo quite loudly underground). If you do manage to wake a Wumpus there is a 75% chance that it will move to an adjoining cave or it may decide (25% chance) to go back to sleep where it is. If it moves to the same cave you are in … you become lunch (and you lose). When entering the caverns, you have a lantern that has a limited amount of oil, and you are armed with a bow an 5 arrows. Each turn, you may move to an adjacent cave, using one of the 8 standard compass directions [N, S, E, W, NE, SE, SW, NW] (which also reduces your lantern oil) or shoot an arrow into an adjacent cave [SHOOT direction] (hopefully hitting the Wumpus and killing it). When you enter a new cave, if you are one cave away from the Wumpus or a hazard, you will be given a clue indicating what is in one (or potentially more) of the caves leading from your current location but not the direction in which it lies.
|
Foundations of C++ Assignment 3 – Hunt the Wumpus |
Note: The theme of the game can be any setting you like, so long as the main element equivalents (Wumpus and hazards, limited turns, and resources) and general game play as described above are present. As with the first assignments, you should include a title and a brief description of the caves to make the game interesting and engage the player. You may use the techniques you developed in the first assignments for load and display this data. Extra Functionality The marking criteria indicates that you should make some individual additions to this in order to achieve the final 20% of the mark. This is up to you. You should aim to add some additional creative elements to the gameplay, as well as advanced object-oriented design elements or advanced use of pointers. Some suggested features could be (but is certainly not limited to):
|
Foundations of C++ Assignment 3 – Hunt the Wumpus |
Map of Your Game Environment In order to make marking easier for your tutors, please include a map of your game environment. This can be hand drawn or created in another application (PowerPoint has a range of shapes and connectors that make mapping easy). See example below. A sample map that you would include in your documentation Suggested Development Process Below is a suggested process you might use to develop your assignment piece by piece so that it is not too overwhelming. Feel free to follow this if you think it will help (or not!):
I hope this helps. Important thing is to focus on small sub-tasks one at a time and build up functionality that way. |
Foundations of C++ Assignment 3 – Hunt the Wumpus |
For those of you who are curious, you can explore the following links: Assignment 3: Marking Criteria [up to 100 marks in total] Does the program compile and run? Yes or No Class Design Diagram [10]
|