App06: Zuul Game - BNU-Comp-Louis/BlueJ-PartA GitHub Wiki
App06: Zuul Game Console Application
Description (10 Marks)
Zuul game is based on the console-based game Colossal cave adventure. The end goal of the game is to defeat the Boss at the end. The game has 8 rooms which, items have been placed. You have gold in rooms that enable you to spawn the boss when you have collected enough. You also have A sword and Shield in the rooms when picked up increase the player's damage and health making it possible to defeat the end boss. You have collected the items and gold in order to complete the game as the boss will out damage the player without the items equipped. If the player dies to the boss the game is lost but if the player beats the boss the player will win the game.
User Requirements
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 rooms for individual programmers, 12 rooms for a team of two and 16 rooms for a team of 3.
The game prototype must include the following new features:-
- Add a Player object with energy and a score.
- A set of Items that the player can pick up and use (minimum of 3 individually, 5 teams of 2, 7 teams of 3)
- A Map object that contains a set of interconnected rooms
- An increased set of recognised command words (minimum of 4 individually, 6 teams of 2, 8 teams of 3)
- A clear single objective.
UML Use Case Diagram (20 Marks for 10 use cases)
UML Class Diagram (20 marks for 10 classes)
Black Box Testing (40 marks for 20 Black Box Tests)
Each member of the team must produce 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 | West from Outside | "Go South" from Outside | Enter Courtyard | Enter Courtyard | n/a |
02 | East from Courtyard | "Go East" from Courtyard | Enter Kitchen | Enter Kitchen | n/a |
03 | East from Kitchen | "Go East" from Kitchen | Error Message | There is no door | n/a |
04 | Help Command | "Help" | Print out Command words | Command words printed | n/a |
05 | Pickup "Gold" | Pickup "gold" from Courtyard | 5 gold picked up | 5 gold picked up | n/a |
06 | Wrong Direction | "Go Home" Kitchen | Go where? message | Go where message | n/a |
07 | Pickup "gold" | Pickup "gold" from Outside | 5 gold picked up including total to now 10 | Total output and picked up gold | n/a |
08 | Pickup "Sword" | Pickup "Sword | Sword has been picked up including stats | Sword picked up and info | n/a |
09 | Pickup "Sheild" | Pickup "Shield" | Shield has been picked up including stats | Sheild picked up and info | n/a |
10 | Move location in previous Pickup "gold" room | "Go North" from Tavern | Enter Courtyard no gold message | Gold pickup message still shows | |
11 | Invalid Command | "Go home" | Error Message | I don't know what you mean | n/a |
12 | Pickup "gold" already collected | Pickup "gold" | Error Message | Nothing to pick up in this area | n/a |
13 | Pickup "shield" already equipped | Pickup "shield" | Error Message | Game crashes "nullpointerexception" | n/a |
14 | Go into the boss room without enough gold | "Go South" from Cellar | Error Message | 20 gold must be collected to spawn boss | n/a |
15 | When 20 gold collected go to boss room | "Go West" from Barracks | Boss spawn prompt | Offer your gold to spawn boss | n/a |
16 | Attack boss | "Attack" in portal room | Info message | You have defeated the boss | n/a |
17 | Attack boss with no gear | Attack in portal room | Info message | You have been defeated by the boss | n/a |
18 | Not spawning boss | "n" When asked do you want top spawn boss | Info message | You are in the room where the boss can be spawned "exits" | n/a |
19 | Go into previously visited rooms without picking up | "Go north" from Cellar | One pickup message | The item message duplicates three times | n/a |
20 | Quit Command | "Quit" | Info message | Thankyou for playing | n/a |
Game Walkthroughs (Testing 40% of total)
To test the game each member of the team must produce one example walkthrough of playing the game such as the one shown below. These walkthroughs should include
- Going into each of the rooms
- Winning the game
- Losing the game
- Picking up each item
- Using each item
- Using each command word
- Updating the player status and score
Game Walk Through
(https://github.com/BNU-Comp-Louis/BlueJ-PartA/blob/master/App06-ZuulGame/Game%20play/Example%20game.txt) (https://github.com/BNU-Comp-Louis/BlueJ-PartA/blob/master/App06-ZuulGame/Game%20play/Example%20game%202.txt)
Programming Issues (20 marks for 10 issues)
https://github.com/BNU-Comp-Louis/BlueJ-PartA/issues/3 https://github.com/BNU-Comp-Louis/BlueJ-PartA/issues/2 https://github.com/BNU-Comp-Louis/BlueJ-PartA/issues/1
Application Evaluation (10 Marks for 5 improvements)
The initial idea of my game was to have more items and a depleting health/energy bar for the player thus creating a time restraint giving more options to lose, because currently my game if you pick up all the items, you always win.
The Items in the game cause stats the increase but you are unable to drop items and due to the lack of items in the game you can't switch anything in the player's inventory so an improvement would be to have more choice of items that the ability to choose an item to use therefore dropping items from the player's inventory.
One of the ideas I had to change was to have the Tavern room that had a shop within it that the gold the player picked up could be spent to buy items and a summoning stone to start the boss encounter. So the initial idea was the only item the player could collect would be gold then go to the stop and interact with a shop keeper that would list items with a price and the player could buy items to win the game. This would have made the game much more interaction for the user.
As the game is based on a win-loss scenario of beating the boss, I would have liked to include a damage breakdown for the user for the fight, as currently the user just gets a message after the attack command that the boss has either beaten the player or the player has defeated him. It would of be more interesting to see a damage breakdown
Finally Having a visual representation for the user of a map or directs, especially if the shop was implemented so the user could get back to the location and buy items to win the game. Currently, the user has to navigate to the Boss room so having a map would make this extremely helpful when navigating the rooms.