J'ai essayé de créer un jeu de test pour apprendre les classes et comment elles fonctionnent. Mon programme, qui est la suivante:NameError: name '' n'est pas défini - Vu après avoir essayé d'obtenir des entrées
print('The Dark Tunnel 2: Electric Boogaloo')
win = False
class Room(object):
def __init__(self, location):
self.location = location
def move(self):
self.move = move
print(rooms[self.move])
def look(self):
self.look = look
print(secrets[self.look])
rooms = {'north': 'You are in a dark room.', 'south': 'You are in a bloody room.', 'west': 'You are in a wet room.', 'east': 'You are in a grungy room.'}
secrets = {'north': 'There doesn\'t seem to be anything you missed.', 'south': 'There is an old coin by your feet.', 'west': 'There is too much water at your feet.', 'east': 'Is there someone behind those bars?'}
while win == False:
action = input('> ')
if action in rooms:
Room.move(action)
else:
Room.look(action)
Après l'entrée « nord » que je pensais éteignaient «Vous êtes dans une pièce sombre je suis:
Traceback (most recent call last):
File "program.py", line 20, in <module>
Room.move(action)
File "program.py", line 9, in move
self.move = move
NameError: name 'move' is not defined
Le problème est exactement ce que dit l'erreur: vous ne définissez pas 'move', et pourtant vous l'appelez. –
Vous ne savez pas ce que vous faites dans la fonction 'move'. –
Dans la fonction de déplacement, j'essayais de faire ressortir la valeur de ce que vous avez entré dans "action" –