The project comprises the following components:
• A diagram with annotation that describes your object-oriented design
• The completed program
• A 300 word reflection on your program
You have woken up in a strange dungeon. It is full of weird monsters that you are able to catch and look after! You will wander the dungeon, finding monsters and evolving them into more powerful and special versions of themselves. Can you evolve a monster that you can fight against the evil boss that guards the exit of the dungeon?
• The dungeon is a room that is 20 x 10 squares in size (20 wide by 10 high). In “normal” mode, the player cannot see the contents of a square in the dungeon. In “test” mode, the player can see the whole dungeon and the contents of each spot.
• The player starts at a random spot along the left hand wall. The exit to the dungeon is at a random spot on the right hand wall. Your aim is to find the exit.
• In this dungeon are 5 types of monster: “Bugbear”, “Platypie”, “Emoo”, “Octopod”, and “Skeletor”. The first three monsters are friendly, while the fourth and fifth type are not, and will attack you. In the dungeon there are 10 of each type of monster, except for “Skeletor” of which there is only 1, and it is located directly in front of the dungeon exit.
• The player will move around the dungeon. They can move either up, down, left or right. If they move into the square of a friendly monster they can try to catch it. When five of one type of monster is caught, it will evolve to a special monster. This is explained below.
• If the player comes across an unfriendly monster, there is a battle, also described below.
• When the player meets the “Skeletor” monster, a battle also takes place, but it is between an evolved monster and “Skeletor” and is described separately below.
• If the player beats the “Skeletor” monster, then they exit the dungeon and win the game. If the player is beaten in battle the game is also over and the player loses.
Program Design Diagram:
You must provide a diagram with annotation that shows the classes you have in your program and how they interact. It should contain any relevant notes that describe the classes. This diagram does not have to be formal UML or any other specific notation, however you may refer to basic class diagram notation.
You must provide a 300-word written reflection of your object-oriented design and how well you believe it was to implement. You should cover the following areas:
• Why you designed it the way you did
• How well you were able to code it, highlighting any issues you found once you tried to implement your design
• How you might change your design to make your solution easier to implement, more efficient, or better for code reuse.