CIT 591 Sixth Java Assignment: Adventure
David Matuszek, Fall 2002

Purposes of this assignment:

A bit of history:

Some early computer games were text-only "adventure" games, which were basically interactive novels. In these games, you are the "hero," and you try to accomplish some goal by giving commands such as "open the door" or "clean the window with the rag". The better games recognized hundreds of words, and often part of the game was discovering what words and commands the game recognized.

Although the technology was primitive, some of the writing was first-rate. The stars among the text-only game authors were Scott Adams, whose games could be finished in an evening, and Infocom, a company whose games were surprisingly sophisticated (and could easily take weeks to complete). There were games in numerous genres--action/adventure, science fiction, fantasy, romance, mystery, children's stories, and so on.

Later came "graphic" (with pictures) adventures, then animated adventure games, and today we have the modern shoot-'em-up, such as the Tomb Raider series of games. The technology has advanced considerably, and the market for text-only games has disappeared (along with most of the genres). However, even old technology can be enjoyed--as much as I like modern special effects, Casablanca is still a better movie than Star Wars II: Attack of the Clones.

If you have never played a text-only adventure game (or if you'd like to do so again), you might want to sample some at http://www.ifiction.org/--the Scott Adams' games are in the "Adventure International" section. I find the Web-based interface a bit annoying, but the games are still fun.

Your assignment:

I am providing you with a very simple (and, unfortunately, very boring) adventure game, as a BlueJ package in a zip file. Your assignment is to expand this game slightly, as follows:

Notes:

You probably can't make this game much more interesting with just a couple more rooms, objects, and commands. Don't worry about that--you won't be graded on your storytelling ability.

You aren't expected to understand everything about this program (yet), but you should know enough Java by now to complete the assignment.

Your next assignment will be based on this one, so take special care to do a good job.

Due date:

Monday, November 4, before midnight. Submit via Blackboard.