Computer Information Systems COMP 150 Introduction to Programming Instructor: Paul Rushton COMP 150 Home Announcements Midterm Project Final Project Course Notes Links Final Project An individual (NO TEAMWORK) text-based adventure game of your own invention. A classic example of a text-based adventure is Colossal Cave Adventure. Your project should behave in a similar fashion but will have fewer locations and items, and it does not need to display location images as you move about. Requirements There must be an object to the game (e.g., it may be to reach a specific location, collect treasures, or both, or something else). The overall logic flow for the game must be implemented as follows. Initialize the game (set up locations, items, display help text, et cetera). Repeat the next steps until the game is over. Describe the player's situation. Obtain a player request and attempt to perform it, informing the player as needed. The game must include at least 10 different locations and at least 5 distinct items. The game must implement at least the following commands. help - provides text that tells the player the available commands. save - saves a game. load - restores a previously saved game. score - displays the player's current score. quit - a command to exit from the game. move - allows the player to move from his/her current location to another. use - allows a player to use an item. look - repeats the text that describes the player's current situation. take - allows a player to pick up an item that is present at the player's location. drop - allows a player to drop an item at the player's location. These commands may be named differently. For example, "go" could be used instead of "move" or "use" could be replaced by "throw" or "open" (or both). Additional commands are also permitted. The player can carry only a limited number of items — the player must not be able to carry all the items in the game. There must be at least 3 movement-related puzzles in the game. Some examples: Movement between two locations is blocked by a locked door that requires a key (which the player must find, pick up, and use). Movement between two locations is only allowed if a player is carrying a specific item. Movement between two locations is only allowed if a player is NOT carrying a specific item. Note: Puzzles are not needed for all movements. As the player moves about the game a score for the player must be calculated. The player's score must be displayed when the game is over, when the player stops playing the game, or the player requests the score with the 'score' command. Erroneous input must not terminate the game. A typing error should result with an appropriate error message and the game continuing. The source code must be designed and implemented in such a way that it is easy to determine the number of locations in the game, the number of items in the game, and the commands (and their names) that are available. The game must be written in Java and it must demonstrate a good understanding of the course topics (program design, repetition, selection, real and integer arithmetic, variables, functions, string manipulation, arrays, and file storage. Marking This project must be an individual effort. Any apparent violation in your submitted work will be reported as Academic Misconduct. The project will be marked out of 30. The marks will generally be distributed as follows. Marks Description 3 (10%) A text-based walkthrough for the game. 15 Program style. To receive full marks for style, your source code MUST be CLEARLY UNDERSTANDABLE by another trained programmer. Note: You are likely to receive full marks for program style if your game adheres to the Java Programming Style document. 6 (20%) The game must work and run without error. In particular, I must be able to 'win' by following your walkthrough document. 6 The game must demonstrate a good understanding of most of the core course concepts (listed above). Bonus Extra marks will be awarded for exceptional projects (i.e., the project impresses me favourably for some reason). If your project deviates from the requirements it will be penalized - the penalty will depend on the deviation. Two examples: If you submit a menu-based adventure game you will be awarded at most 21 marks (15 for style and 6 for an understanding of the course concepts. If you submit a project that is not a game, you will be awarded at most 6 marks (for an understanding of the course concepts).