Je fais un jeu python et j'ai un petit problème rapide. Il y a un couloir qui se divise à gauche et à droite. Quand vous allez à gauche, il y a une clé que vous obtenez et quand vous allez à droite il y a un ascenseur verrouillé. La clé est ce dont vous avez besoin pour déverrouiller l'ascenseur. Le problème se pose lorsqu'un utilisateur essaie de revenir en arrière dans un jeu et qu'ils reviennent dans le hall. Code ci-dessous:Python Game Help: Comment avoir une fonction toujours vraie quand elle est vraie.
def elevator(Lock):
if lock== 'unlock':
print "Unlocked"
else:
print "It is locked"
def safe():
print "obtain key"
right_left('True')
def right_left(Key):
backward = ['back']
left = ['left', 'Left']
right = ['right', 'Right']
choice = raw_input("Enter Command > ")
if Key == 'True':
print "Left or right?"
if choice== 'right':
elevator('Unlock')
elif choice == 'back':
back()
else:
if any (s in choice for s in backward):
back()
elif any (s in choice for s in left):
safe()
elif any (s in choice for s in right):
elevator()
def back():
print "Back in the game."
right_left('False')
Le gros problème que j'ai est que si un utilisateur prend la clé et remonte à la salle à droite à gauche puis ils choisissent de revenir en arrière. S'ils retournent dans le jeu et retournent au début (ce qui n'est pas dans cet exemple/exemple), ils retourneront à la fonction 'back()' et continueront à la fonction 'right_left' avec Key = false. Mais cela doit être vrai. Je n'arrive pas à comprendre comment, une fois que 'right_left' est vrai, ce sera toujours vrai, peu importe ce que fera un utilisateur dans le futur. Merci et désolé c'est déroutant
'si Touche == 'Vrai':' ... ow ow ow ow ow. – kindall
Le problème est que je ne sais pas comment le rendre permanent Key == "True" dans la fonction back(). Si un utilisateur revenait dans une partie et revenait à cette fonction bacl(), comment puis-je faire en sorte que ce soit Key == 'True'. C'est ce que je suis aux prises avec. Comment savoir si l'utilisateur a ou n'a pas récupéré la clé? – HenFish
Pourquoi la clé ne resterait-elle pas "vraie" pour toujours? Cela ne changerait la valeur que si vous la changiez explicitement vous-même. Si vous voulez que Key soit "True", ne le faites pas "True". – Kevin