Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please Read Instructions: Code using Python As you are preparing for your final text game project submission, the use of dictionaries, decision branching, and loops

Please Read Instructions: Code using Python

As you are preparing for your final text game project submission, the use of dictionaries, decision branching, and loops will be an important part of your solution. This milestone will help guide you through the steps of moving from your pseudocode or flowchart to code within the PyCharm integrated development environment (IDE).

You will be working with the same text-based game scenario from Projects One and Two. In this milestone, you will develop code for a simplified version of the sample dragon-themed game. The simplified version involves moving between a few rooms and being able to exit the game with an exit command. In the simplified version, there are no items, inventory, or villain. Developing this simplified version of the game supports an important programming strategy: working on code in small iterations at a time. Completing this milestone will give you a head start on your work to complete the game for Project Two.

Prompt

For this milestone, you will be submitting a working draft of the code for a simplified version of the text-based game that you are developing for Project Two. You will focus on displaying how a room dictionary works with the move commands. This will include the if, else, and elif statements that move the adventurer from one room to another.

Before beginning this milestone, it is important to understand the required functionality for this simplified version of the game. The game should prompt the player to enter commands to either move between rooms or exit the game. Review the Milestone Simplified Dragon Text Game Video and the Milestone Simplified Text Game Flowchart to see an example of the simplified version of the game. A video transcript is available: Transcript for Milestone Simplified Dragon Text Game Video. IMPORTANT: The Move Between Rooms process in the Milestone Simplified Text Game Flowchart is intentionally vague. You designed a more detailed flowchart or pseudocode for this process as a part of your work on Project One. Think about how your design will fit into this larger flowchart.

In PyCharm, create a new code file titled ModuleSixMilestone.py. At the top of the file, include a comment with your name. As you develop your code, you must use industry standard best practices, including in-line comments and appropriate naming conventions, to enhance the readability and maintainability of the code.

Next, copy the following dictionary into your PY file. This dictionary links rooms to one another and will be used to store all possible moves per room, in order to properly validate player commands (input). This will allow the player to move only between rooms that are linked. Note: For this milestone, you are being given a dictionary and map for a simplified version of the dragon-themed game. Make sure to read the code carefully so that you understand how it works. In Project Two, you will create your own dictionary based on your designs.

#A dictionary for the simplified dragon text game #The dictionary links a room to other rooms. rooms = { 'Great Hall': {'South': 'Bedroom'}, 'Bedroom': {'North': 'Great Hall', 'East': 'Cellar'}, 'Cellar': {'West': 'Bedroom'} } 

Next, you will develop code to meet the required functionality, by prompting the player to enter commands to move between the rooms or exit the game. To achieve this, you must develop the following:A gameplay loop that includes:

Output that displays the room the player is currently in

Decision branching that tells the game how to handle the different commands. The commands can be to either move between rooms (such as go North, South, East, or West) or exit.

If the player enters a valid move command, the game should use the dictionary to move them into the new room.

If the player enters exit, the game should set their room to a room called exit.

If the player enters an invalid command, the game should output an error message to the player (input validation).

A way to end the gameplay loop once the player is in the exit room

TIP: Use the pseudocode or flowchart that you designed in Step #4 of Project One to help you develop your code.As you develop, you should debug your code to minimize errors and enhance functionality. After you have developed all of your code, be sure to run the code to test and make sure it is working correctly.

What happens if the player enters a valid direction? Does the game move them to the correct room?

What happens if the player enters an invalid direction? Does the game provide the correct output?

Can the player exit the game?

Guidelines for Submission

Submit your ModuleSixAssignment.py file. Be sure to include your name in a comment at the top of the code file.

Here is my Psuedocode below

#Starting game and displaying jungle map

Start_game = display jungle map

#Set players starting position in the center of the jungle

current_room = Middle_of_jungle

# List to store collected items

inventory = []

# repeating moves between rooms based on the user input

while True:

# If current_room is village then breaking the loop

if current_room == Village:

print( You're in the", current_room)

print("You see a Jaguar!",)

if len(inventory) == 5:

print(" Congratulations! You have collected all items and won against the Jaguar!")

Else:

print( YAY YOU DID IT...GAME OVER!")

break

# Printing current_room

print( You're in the", current_room)

# Getting user judgment to pick the item or not

if rooms[current_room]['item'] != None:

print( Do You see a", rooms[current_room]['item'])

judgement(opinion)= input("get "+rooms[current_room]['item']+"?(Y/N): ").upper()

# Verifying input

while judgment not in ['Y','N']:

print("Wrong input. Try again")

judgement(opinion)= input("Get "+rooms[current_room]['item']+"?(Y/N): ").upper()

if judgement== 'Y':

inventory.append(rooms[current_room]['item'])

rooms[current_room]['item'] = None

Else:

print(Youve already item collected or no item in this room")

# Printing inventory

print("Inventory:", inventory)

# Prompting user input for direction to move

direction = input("Direction to move?(East,West,North,South): ").title()

directions = list(rooms[current_room].keys())

directions.remove('item')

# verifying direction

While direction not in directions:

print("Wrong direction from "+current_room+". Try again")

direction = input("Direction to move?(East,West,North,South): ").title()

# Setting next_room

next_room = rooms[current_room][direction]

print("You have moved to",next_room)

print("------------------------------------------------")

# Updating current_room

current_room = next_room

# Printing end message

print( Thank you for playing the game.")

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

Step: 3

blur-text-image

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

Modern Database Management

Authors: Donald A. Carpenter Fred R. McFadden

1st Edition

8178088045, 978-8178088044

More Books

Students also viewed these Databases questions