Assignment 2 FAQ
Please make sure that you read the following most commonly asked questions about assignment 2. It is important to be familiar with this post, in order to achieve a successful result.
This file must include a clear list with clear descriptions of the following items:
- A list of all the extra functionalities provided in your program along with a brief description of each
- A list of all the functionalities provided in your program
- All the changes made to the original game, features, characters, storyline, map etc.
How much do I write in this file?
Actually, it needs to be as brief as possible, but as CLEAR as possible. Make sure it contains all the information listed in the previous question. It is important that you make sure it makes complete sense, it’s brief but complete (i.e. it specifies everything the markers must know about your work).
Note it is a great idea to proofread it multiple times and perhaps ask a friend to proofread it again after you finished it. No this doesn’t mean that you copy from each other or use the same copy as your friend that is plagiarism.
Is this file marked? Otherwise I don’t want to do it.
It is not the file that is going to be marked; however, without it:
- The extra functionality will not be marked.
- The changes will be missed and not known to the markers.
- If you miss the marks for these, it will not be remarked without this file even if you have provided extra functionality.
Why do I need it?
Read the previous questions.
Please note, the markers need to assess many assignments, it is not possible for them to know about the features that you do not even want to write down so they would know about.
How do I submit this?
Put it in the main zip file. (See submission section for more information)
What format? Can I also use word (.docx) or PDF?
It must be a .txt file.
You can also provide either word (.docx) or PDF. In that case there will be two files. Readme.txt and Readme.docx OR Readme.txt and Readme.pdf.
Both files’ contents must match (exactly the same). Whichever the markers will choose to check will be done used for the marking. If they don’t match, they will not check the other.
Can I also put it as “View Readme.txt” option on my game menu?
Yes, please that is a great idea.
The most basic submission must have:
- Location class
- Hazard class
However, we would also recommend:
- Player class
There might be other classes that you might see appropriate.
How do I structure my classes?
Each class must consist of two files:
- Class header file (.h) e.g. ClassName.h , this file must only contain the class declaration. Do not forget the header guards. E.g. #ifndef CLASSNAME_H, #define CLASSNAME_H, #endif
- Class definition file (.cpp) ClassName.cpp , this file must only contain the class function definitions and static member initialisations
Can I put multiple classes in the same file?
No. This is for multiple reasons: clearer structure with separation of concerns (functionality and data). Easier to understand and find which means easier to be
Where do I put my main()?
This needs to go into its own separate file. It can contain your overall gameplay functions and various objects to play the game.
Can I put my main() in one of my classes?
No, do not do that. It is not good practice. E.g. if have a hazard class and a location class which is more appropriate? The answer is neither. What happens after if you add player class, items, levels, gameplay… etc. What then? You get the picture
What do I need to name my files?
Follow the naming conventions named in the unit and read the assignment specification. A brief summary for the minimum 2 classes:
- Location (Location.h & Location.cpp) – You can rename this file with other appropriate names like Cave, Room, Dungeon… etc. If you rename it, you MUST mention this in readme file and discuss it with your tutor.
- Hazard (Hazard.h & Hazard.cpp)
- An appropriate a name for the main file e.g. MainGame.cpp.
Any other files added need to follow naming conventions like the above examples.
You can assume a reasonable value for it. Make sure you mention it clearly in your readme file and make sure you comment your code clearly for this. Typically many students are considering a number around 10 to 25. Which gives the player 10 to 25 moves. Remember the size of the map and the length of the game (i.e. how long do you want the player to play the game?)
Some students are also considering extra functionality around the lantern, for example, changing the game’s difficulty levels changes the oil levels in the lantern.
How many moves can the player make?
The number of moves depends on the lantern (see previous question). Of course the hazards, and the arrows can change the course of the play.
Where does the player start from?
A clear (hazard free) location. We recommend the centre of the map.
Can it be random? Yes -> Just make sure you start from a hazard free location.
Can it be at the top left corner? Yes -> Just make sure you start from a hazard free location.
What does hazard-free start location mean? It means, No Wumpus, Pits, or Bats. So the player can play, otherwise the game will be over before it starts.
Even Bats? Well, it will make it more playable without any hazards at the start. You can allow bats, if you want.
Note: Whatever you choose make sure you comment the code, put it clearly in your readme file and check with your tutor too.
How many arrows?
It is mentioned on the assignment. 5 arrows per player.
Where are the hazards at start of the game?
Wumpus, bats, and pits are randomly spread out on the map at the beginning of the game. Just make sure they are not at the player’s location at the start.
How many hazards?
Wumpus : 1 location
Bats: 2 bats at different locations
Pits: 2 pits at different locations
Can Wumpus, bats, and the bottomless pits all be in the same in location on the map?
If Wumpus, bats and bottomless pits happen to be in the same spot, which rules precede?
This will be the sequence of the events (in order):
- Wumpus will kill the player -> Game over
- Bottomless Pit -> Player will fall and game over
- Bats -> will move the player to a new spot
Can I change this order?
Yes, within reason (has to make sense). Mention it in your readme file, put it in your code comments and talk to your tutor about it.
Can I know a little more about the bats?
- They take the player to a random location. That means the player’s location changes to another random spot.
- You can assume the bats themselves go back to their home (their original location)
- If they take the player to other hazards the normal hazard rules apply.
- For example, if they take the player to Wumpus, it will kill the player and it will be game over. If they take the player to other bats, other bats will take the player to another spot and so on…
When the bats move the player, does that change oil level?
If random, can the bats move the player to the same location?