Question: in my python text based game, the get commnad does not function and returns and invalid command. Here is the code: # Rooms dictionary with

in my python text based game, the get commnad does not function and returns and invalid command. Here is the code: # Rooms dictionary with items
rooms ={
'Barracks': {'North': 'Officer Quarters', 'East': 'Courtyard', 'South': 'Stables', 'West': 'Arsenal'},
'Arsenal': {'East': 'Barracks', 'South': 'Armory', 'item': 'Sword'},
'Armory': {'North': 'Arsenal', 'items': 'Armor'},
'Stables': {'North': 'Barracks', 'South': 'Kitchen', 'item': 'Bolts'},
'Kitchen': {'North': 'Stables', 'East': 'Great Hall', 'item': 'Liquid Courage'},
'Officer Quarters': {'East': 'Lookout Tower', 'South': 'Barracks', 'item': 'Shield'},
'Lookout Tower': {'East': 'Main Gate', 'South': 'Courtyard', 'West': 'Officer Quarters', 'item': 'Helmet'},
'Main Gate': {'West': 'Lookout Tower', 'item': 'Spear'},
'Courtyard': {'North': 'Lookout Tower', 'South': 'Great Hall', 'West': 'Barracks', 'item': 'Crossbow'},
'Great Hall': {'North': 'Courtyard', 'West': 'Kitchen', 'villain': 'The Goblin King'}
}
# Player inventory
inventory =[]
def display_status(player_room, inventory):
print("You are in the", player_room)
print("Inventory:", inventory)
if 'item' in rooms[player_room]:
print("You see a", rooms[player_room]['item'])
print("---------------------")
# List commands
command_list =['Move North', 'Move South', 'Move East', 'Move West', 'Get', 'Inventory']
print("Please use the following commands:", command_list)
# Player's starting point
player_room = 'Barracks'
# Movement loop
while player_room != 'exit':
display_status(player_room, inventory)
# Get player command
move = input("Make your next move. Beware The Goblin King! (North, South, East, West, 'exit' to exit the game, 'commands' for commands, 'get' to pick up an item, or 'inventory' to see inventory): ").strip().lower()
# Commands
if move == 'exit':
player_room = 'exit'
elif move == 'command':
print("Please use the following commands:", command_list)
elif move in ['move north', 'move south', 'move east', 'move west']:
direction = move.split()[1].capitalize()
if direction in rooms[player_room]:
player_room = rooms[player_room][direction]
print(f"You swiftly and silently move {direction} to {player_room}.")
else:
print(f"You can't go {direction} from the {player_room}.")
elif move == 'get':
if 'item' in rooms[player_room] and rooms[player_room]['item']:
items = rooms[player_room].pop('item') # Remove the item from the room
inventory.append(items) # Add the item to the inventory
print(f"You picked up {items}!")
else:
print("There are no items to pick up in this room.")
elif move == 'inventory':
print("Your inventory:")
for item in inventory:
print(item)
else:
print("Invalid command. Please enter a valid command.")
print("Thank you for playing!")You are in the officer quarters
Inventory: []
You see a shield
Make your next move. Beware The Goblin King! (North, South, East, West, 'exit' to exit the game, 'commands' for commands, 'get' to pick up an item, or 'inventory' to see inventory): get shield Invalid command. Please enter a valid command.
You are in the officer quarters
Inventory: []
You see a Shield
in my python text based game, the get commnad

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!