CSC 581: Mobile App Development
HW4: Hunt the Wumpus
For this mini-project, you are to design and build an app for playing the text-based adventure game, Hunt the Wumpus. If you recall from CSC 222, Hunt the Wumpus is a game in which you explore a maze of caves, hunting the dreaded wumpus (or possible more than one wumpi). When you
enter a cave that is adjacent to a wumpus, you will smell its stench. Warned by your nose, you can then throw a stun
grenade into an adjacent cave to try to knock out and capture the wumpus. Unfortunately, the sound of the explosion will alert any
nearby wumpi and set them in motion. The object of the game is to capture all of the wumpi before you run out of
grenades (and without getting mauled). In addition to wumpi, there is a bottomless pit and giant bats to avoid.
Below is a sample (terminal-based) execution of the game.
HUNT THE WUMPUS: Your mission is to explore the maze of caves
and capture all of the wumpi (without getting yourself mauled).
To move to an adjacent cave, enter 'M' and the tunnel number.
To toss a stun grenade into a cave, enter 'T' and the tunnel number.
You are currently in The Fountainhead
What do you want to do? m 2
Moving down tunnel 2...
You are currently in The Silver Mirror
(2) The Fountainhead
You smell an awful stench coming from somewhere nearby.
What do you want to do? t 1
Tossing stun grenade down tunnel 1...
A startled wumpus charges into your cave... CHOMP CHOMP CHOMP
In class, we developed the model for the game: CaveContents, Cave, and CaveMaze. Your Hunt the Wumpus app must:
- utilize the model provided by the three Swift classes.
- launch an opening screen with some graphic element, your name, and a button for beginning the game.
- segue into a play screen with a label for displaying the location and results of each action, and UI elements that enable the player to move or toss down a tunnel.
- have a help button that brings up a popover window with instructions for playing the game.
- have a restart button for beginning a new game.
- utilize an app icon of your own design.