Apps216: Zuul Game - BNU-CO452/bluej-apps21-Miridicent GitHub Wiki
App21-06: Zuul Game - Console Application
IntelliJ Ultimate IDEA IJ-App06-Zuul Project
Description (10 Marks)
Cracked stone walls, withered wood floors, a place wholly unfamiliar, what were you doing here again? By the sound of it a battle is raging on the other side of the large ironclad doors behind you but said doors are barred by some kind of magic. Right now your only choice is to head further into this archaic building.
[Title Pending] is a game in which you play as an amnesiac mage caught in a situation you can't quite recall how you got yourself into. You must explore the derelict building gathering tools and knowledge in order to solve puzzles and get to the centre where a important character is waiting.
The game is won by getting to the centre,
The game is lost if the player dies
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 single Mage object with status including 2 attributes such as location and health. (They are the only character)
- A set of tools 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 including take, go and cast (minimum of 2 additional commands)
- A clear single objective with a way of winning the game, and losing the game.
- a set of spells the player can use (minimum of 2)
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
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 | East from Entrance | "Go East" from Entrance | Enter Chamber | Entered Chamber | |
02 | North from Chamber | "Go North" from Chamber | Enter Hallway1 | Entered Hallway1 | |
03 | Wrong Direction | "Go Home" from anywhere | Go where? message | correct message displayed | |
04 | South from Chamber | "Go South" from Chamber | Enter Hallway2 | Entered Hallway 2 | |
05 | East from Hallway 1 | "Go west" from Hallway1 | Enter Study | Entered Study | |
06 | West from Hallway 1 | "Go east" from Hallway1 | Enter Magic Lab | Entered Magic Lab | |
07 | South from Hallway 1 | "Go south" from Hallway1 | Enter Chamber | Entered Chamber | |
08 | West from Hallway 2 | "Go west" from Hallway2 | Enter Kitchen | Entered Kitchen | |
09 | East from Hallway 2 | "Go east" from Hallway2 | Enter Dining Room | Entered Dining Room | |
10 | North from Hallway 2 | "Go north" from Hallway2 | Enter Chamber | Entered Chamber | |
11 | West from Chamber | "Go west" from Chamber | Enter Entrance | ||
12 | help command | "help" from anywhere | display help | displayed help | |
13 | Bag command | "bag" from anywhere | show Inventory | showed inventory | |
14 | take notebook | "take notebook" | obtain notebook | got notebook | |
15 | take Textbook | "take textbook" | obtain textbook | got textbook | |
16 | take Cookbook | "take cookbook" | obtain cookbook | got cookbook | |
17 | take Storybook | "take storybook" | obtain storybook | storybook | |
18 | cast Ragnarok | "cast Ragnarok" | opens central door | central door opened | |
19 | cast Nhilo | "cast Nhilo" | defeats wizard | wizard defeated | |
20 | quit game | "quit" | exits game | exited game |
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
Losing
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
- The exits on the locations not working
- The take command not working due to how the casing worked
- The cast command not working due to how the casing worked
- Locations not being created
- Parsing issues with bringing variables and methods over between classes
- The Text being to long to fit on the screen
- Not showing the inventory in a list
- Not causing a game over when health hits 0
- The door in the chamber not opening when the spell is cast
- the game not ending when it is won
Application Evaluation (10 Marks for 5 improvements)
An evaluation with list of at least 5 ways the game can be improved or extended.
- add some sort of score
- add a way to lose life other than getting the spell wrong
- add more to the mystery of the tower I. E. have more story
- allow the player to name them self
- some kind of magic battle system