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

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:-

  1. Add a Player object with status including 2 attributes such as energy level and a score.
  2. A set of Items that the player can pick up and use (minimum of 4)
  3. A Map object that contains a set of at least 8 interconnected locations
  4. An increased set of recognised commands (minimum of 2 additional commands)
  5. 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 Zuul Starting Locations

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.

Use Case Diagram

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.

Basic Design UML

*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

  1. Going into each of the rooms
  2. Winning the game
  3. Loosing the game
  4. Picking up each item
  5. Using each item
  6. Using each command word
  7. Updating the player status and score

Example Game

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

  1. Could not get item.
  2. Could not carry score from previous location to new location
  3. Does not display player name.
  4. The health of the player resets at each location.
  5. Failed to create new commands.
  6. Did not manage to create an inventory.
  7. Issue creating an enemy object.
  8. Could not call an item for use.
  9. Did not manage to categorise items.
  10. 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

  1. It could be improved by keeping track of the score.
  2. Creating characters to interact with.
  3. Creating enemies with attributes.
  4. Allowing items to have certain level of durability.
  5. Creating an inventory.