Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Must be in C++ Goals: Design a program to satisfy provided requirements Use good OOP style including inheritance, polymorphism, and pointers You will design and

Must be in C++

Goals:

Design a program to satisfy provided requirements Use good OOP style including inheritance, polymorphism, and pointers You will design and implement a text-based game or puzzle where the player moves through a series of rooms or compartments. They will need to gather items to achieve some purpose. The details are left to you!

Specific requirements:

You will create a series of rooms or compartments or spaces for the player to move through. For simplicity I will call them spaces, as they do not need to be a physical compartment. Each space will be a class with (at least) four pointer variables that link to other spaces. Even if your structure is linear, such as a train, you will still have four pointer variables in the class. Be creative and try to use them all! You might consider secret passages or stepping outside the train? The space will also have appropriate data members. You must have at least 5 spaces of at least 3 different types. NOTE: The requirement for four pointers in each room/compartment is to simplify coding. If you need more pointers for your theme, feel free to add more. You will have a space abstract class that will have a special pure virtual function. Each type of space will have a special action. It could be the controls in the engine, or to control access to one of the doors (pointers), or it could simply turn on the lights. You will have at least 3 derived classes for different types of spaces. To continue with the train theme you could have a passenger car, or baggage car. Or one space could have controls such as the engine. You must have a goal for the player. Maybe it is to solve a crime (like Clue?). Maybe the aliens have invaded your spaceship and normal weapons do not work but broccoli causes them to leave! J Based on your theme the player must discover the solution. You may have a random goal. One time broccoli works, next time it is a pillow. You must have some way to keep track of which space the player is in. The player will have a container (backpack, knitting bag, or notebook) to carry items. The container must have some limit. One or more of these items will be required as part of the solution, such as a key to open the locked door. You will change the structure of your spaces. Specifically you will add at least one space and you will remove at least one space. They do not need to be the same space. To continue with the train theme say you initially have: baggage, passenger, passenger, club, Pullman (old fashioned sleeper) Later on, when the player goes through the train it is: baggage, passenger, passenger, club, observation or: baggage, passenger, passenger, observation, Pullman The goal may be a puzzle with clues in each space. It does not need to be a physical possession. It should not require free-form input. It is frustrating if you did not spell something correctly. You should have a time limit to urge the player on. This does not mean a literal clock, just some way to prevent the game from going on indefinitely. The player must interact with parts of the structure, and not just simply collect things. This can be throwing something at the monster, operating a light switch (or other control), opening doors, or singing to get the baby back to sleep.

To make it easy on your grader please provide an additional menu option. It should reveal the goal to the player. If the grader does not know the goal they cannot tell if the program is working correctly. This information does not need to be elaborate. Something like, the broccoli causes the aliens to leave, or the murder was done by Mrs. Duck, club car, fishing pole. HINT: Always be kind to your grader!

SUGGESTION- As always, use incremental development. The exact sequence may depend upon your theme. At a minimum you will need to move in the structure. Get that working and then flesh out the details. The player must be able to pick up a carry items, to the limit you impose. Do the design first! If you try to plan out your theme as you write code you will make it much more difficult.

Grading:

programming style and documentation (10%)

create the basic structure of 5 spaces of at least 3 different types- this includes how creative you were with the linked structure (15%) (5%)

all links work as intended (10%)

correctly add a node/space during runtime (5%)

correctly delete a node/space during runtime (5%)

prompt the user to start the game and execute all commands as intended (5%)

properly implement some sequence of actions required for the player to exit (other than just moving through the spaces) (10%)

correctly implement a time limit (5%)

correctly implement and use the special function (10%)

reflections document to include the design description, test plan, test results, and comments about how you resolved problems during the assignment (20%)

best in show (+5%) the graders will have the option of giving 5 points extra credit to one student they find had the most creative theme, interesting situation, or whatever criteria they want to use. If they feel no one they graded is worthy then they are not required to award it.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Technology And Management Computers And Information Processing Systems For Business

Authors: Robert C. Goldstein

1st Edition

0471887374, 978-0471887379

More Books

Students also viewed these Databases questions