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

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 single Mage object with status including 2 attributes such as location and health. (They are the only character)
  2. A set of tools 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 including take, go and cast (minimum of 2 additional commands)
  5. A clear single objective with a way of winning the game, and losing the game.
  6. 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 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

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

*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

Tests 1 - 10 Tests 1 - 10 no 2 Tests 1-10

Tests 11 - 20 Tests 11 - 20 Tests 11 - 20

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 Example Game Example Game Example Game Example Game Example Game

Losing Lose

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. The exits on the locations not working
  2. The take command not working due to how the casing worked
  3. The cast command not working due to how the casing worked
  4. Locations not being created
  5. Parsing issues with bringing variables and methods over between classes
  6. The Text being to long to fit on the screen
  7. Not showing the inventory in a list
  8. Not causing a game over when health hits 0
  9. The door in the chamber not opening when the spell is cast
  10. 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.

  1. add some sort of score
  2. add a way to lose life other than getting the spell wrong
  3. add more to the mystery of the tower I. E. have more story
  4. allow the player to name them self
  5. some kind of magic battle system