App 06 Zuul - BNU-CO452/bluej-apps21-JesseMwansa GitHub Wiki
App21-06: Zuul Game - Console Application
IntelliJ Ultimate IDEA IJ-App06-Zuul Project
Description (10 Marks)
The student should write a description of their specific game, including how the game can be won or lost
Description: The aim of the game is to kill a vampire, collect it's blood and take the blood to the lab for testing so that a serum can be created to protect the people. The player starts outside and then enters a church where he picks up a scroll for protection. The player then goes to a cabin and picks up a weapon to fight enemies. He encounters his first enemy at the bridge and increases his score by killing the goblin. From the bridge, the player can either go to the deathpit or vampcave. If the player goes the deathpit, the game ends because the player dies. When the player chooses to go the vampcave, he is to kill a vampire and then earns a higher score. If the player does not kill the vampire, health is lowered and the player dies. From the vampcave, the player goes to the lab and gives the scientist the blood. At this point, the player's score inreased and the game has been won.
This game is based on the classic console based game Colossal Cave Adventure by Will Crowther (1975) see
- Colossal Cave Adventure Short Play
- Colossal Cave Adventure Play Through
- Colossal Cave Adventure Clone GitHub Repo
- GitHub Repository
- Play the Game
User Requirements (10 Marks)
The student should replace the general user requirements below with a full set of specific user requirements of their chosen game
You have been tasked with creating a new small version of Zuul to use as proof of concept.
For this purpose you game should contain a minimum of 8 locations.
The game prototype must include the following new features:-
- Add a Player object with status including 2 attributes such as energy level and a score.
- A set of Items that the player can pick up and use (minimum of 4)
- A Map object that contains a set of at least 8 interconnected locations
- An increased set of recognised commands (minimum of 2 additional commands)
- A clear single objective with a way of winning the game, and losing the game.
Students can work in teams of 2 for this application.
Zuul Locations (10 Marks)
The student should replace this simple diagram to show how all the locations in the new game connect
Software Design (20 Marks)
UML Use Case Diagram (20 Marks for 10 use cases)
The student should add a use case diagram summarising the functionality of the game.
This can be reversed engineered or created from scratch before coding is completed.
UML Class Diagram (20 marks for 10 classes)
The student should replace this class diagram with a full class diagram of their completed game showing attributes and methods
The design must be an extension of this basic design which is based on the Command Design Pattern. Using this pattern each Command is a kind of ZuulCommand (inheritance) and is responsible for executing that command.
*The student should include a more detailed Class Diagram *
Black Box Testing (20 marks for 20 Black Box Tests)
Each member of the team must product at least 10 Black Box tests and a minimum of 20 in total
Test No | Proposed Test | Data Entered | Expected Result | Actual Result | Comments |
---|---|---|---|---|---|
01 | South from Outside | "go south" from Outside | You are in the sacred church | You are in the sacred church | functional |
02 | east from cabin | "go east" from cabin | You are in the mystical forest | You are in the mystical forest | functional |
03 | east from church | "go east" from church | You are in a cabin full of supplies | You are in a cabin full of supplies | functional |
04 | south from forest | "go south" from forest | You are at a shaky bridge | You are at a shaky bridge | functional |
05 | southwest from bridge | "go southwest" from bridge | You are in the feared vampcave | You are in the feared vampcave | functional |
06 | southeast from bridge | "go southeast" from bridge | the deadly pit | the deadly pit | functional |
05 | west from deathpit | "go west" from deathpit | You are in the feared vampcave | You are in the feared vampcave | functional |
07 | west from vampcave | "go west" from vampcave | in a scientific lab | in a scientific lab | functional |
08 | north from church | "go north" from church | outside the main entrance of the church | outside the main entrance of the church | functional |
09 | west from cabin | "go west" from cabin | You are in the sacred church | You are in the sacred church | functional |
10 | west from forest | "go west" from forest | You are in a cabin full of supplies | You are in a cabin full of supplies | functional |
11 | north from bridge | "go north" from bridge | You are in the mystical forest | You are in the mystical forest | functional |
12 | northeast from vampcave | "go northeast" from vampcave | You are at a shaky bridge | You are at a shaky bridge | functional |
13 | northwest from deathpit | "go northwest" from deathpit | You are at a shaky bridge | You are at a shaky bridge | functional |
15 | east from lab | "go east" from bridge | You are in the feared vampcave | You are in the feared vampcave | functional |
16 | east from vampcave | "go east" from bridge | the deadly pit | the deadly pit | functional |
17 | read scroll | "yes" | Your score has been increased by 30 | Your score has been increased by 30 | score increased but item method doesn't work |
Game Walkthroughs (Testing 40% of total)
To test the game the student must produce one example walkthrough of playing the game such as the one shown below, and demonstrate a walkthrough live. These walkthroughs should include
- Going into each of the rooms
- Winning the game
- Loosing the game
- Picking up each item
- Using each item
- Using each command word
- Updating the player status and score
Programming Issues (20 marks for 10 issues)
Each member of the team must have posted at least 5 issues and a total of 10 issues
- Could not get item.
- Could not carry score from previous location to new location
- Does not display player name.
- The health of the player resets at each location.
- Failed to create new commands.
- Did not manage to create an inventory.
- Issue creating an enemy object.
- Could not call an item for use.
- Did not manage to categorise items.
- Could not create characters to interact with player.
Application Evaluation (10 Marks for 5 improvements)
An evaluation with list of at least 5 ways the game can be improved or extended. Application Evaluation
- It could be improved by keeping track of the score.
- Creating characters to interact with.
- Creating enemies with attributes.
- Allowing items to have certain level of durability.
- Creating an inventory.