Assignment Task
Overview
This is a programming project. It represents a significant amount of programming work and a substantial investment of your time. You will need to research programs using Internet resources and Landing discussions, and then design your program to include the major Elements of the User Experience (described below). Moreover, you will need to code your program, document it, and test it.
What you will be researching, designing, building, documenting and testing is an adventure game. Text-based adventure games were common and popular in the 1970s, 80s and 90s.
The grandfather of all text-based adventure games is Colossal Cave Adventure, which also went by the names Adventure and ADVENT (on early systems with file name limits). Adventure was created by Will Crowther and Don Woods in 1975–1977 and originally written in FORTRAN (a third-generation computer language) for PDP minicomputers. It has been ported to many other systems and rewritten in several other computer languages.
Your first line of research is to find out more about this game, especially the style of game play and how the game was constructed. An Internet search on topics such as “Adventure (game)” or “Colossal Cave Adventure” will turn up plenty of information. A good starting point is Wikipedia.
Ultimately, your game will comprise all the following elements, and will form a complete, playable game.
Project
The game must employ object-oriented principals for all the components. That means the highest class is Game—your finished game. You may choose to call this main class Wonderland or another appropriate name. The Game class should have one main() method that creates an instance of the game and invokes it for game execution. Within Game, necessary classes must include Locations, Items, Characters, Actions, Inventory and Control. You may find more classes are necessary to complete the game.
The Control class is the class that reads user input and checks the input against valid Actions. If an Action is allowed, then the methods required to complete the action should be called on the objects involved (e.g., Action: “take”; object involved: “flashlight”). Certain actions will result in changes in the user’s inventory. Other actions will change the user’s location. Changes in location will trigger appropriate descriptive outputs based on the room entered and whether it is the first time entering.
Give careful consideration to your how the objects (classes) in your game interact.
Your game can contain any reasonable number of locations (rooms), with a minimum of five (5). A common starting point is near the rabbit hole, and the ending point is somewhere in wonderland. Once you descend into the rabbit hole, you are unable to return. Otherwise, the locations (rooms) and how you connect them is your design choice, which MUST be completely documented as part of the design documents for the game. You should create a “safe room” to act as a gathering area for your treasures.
Locations should have a minimum of one entrance and one exit (not the same), but at least one room must have more than three (3) exits.
You must portray a minimum of five (5) characters from the book. You must have a minimum of 12 items for the main character to interact with, which should be taken from the book.
You will need to establish a goal for the main character (e.g., Alice), and you must state this at the beginning of the game.
The items, characters, location descriptions and action words should be contained in separate text files, which are opened and loaded into the game at the start of the game.