So I'm making this choose-your-own adventure game, and I'm nearly done. But I can't figure out how to keep the player from automatically moving to the entranceway after interacting with the other rooms. I tried to make a separate loop, within the room codes, but that just breaks it and causes it to go infinitely. Any help would be appreciated.
Left = 'Left'
Right = 'Right'
Center = 'Center'
SilverLockPosition = Left
GoldLockPosition = Right
game = True
def win():
print('You won!')
exit()
while game == True:
print("\nThe door that you came in dissapears behind you. There is a door in front of you, and on both sides of you. Where do you go?")
HallwayChoice = input("\n(o)pen front door\n(l)eft entryway exit\n(r)ight entryway exit\nWhere to?:") #-- Choice of which room to enter.
if HallwayChoice == 'o':
CurrentRoom = 'o'
if SilverLockPosition == Right and GoldLockPosition == Left:
print("You twist open the knob and the door unlocks!")
win()
else:
print("You pull on the door with all your might but it won't open! Is there a room you haven't checked?")
elif HallwayChoice == 'l':
CurrentRoom = 'l'
print("\nYou're in a pantry stocked with the usual foodstuffs. In front of you is a lock with 3 positions, it is currently in in the %s position. Behind you is the door to the entrance. What do you do?" %(SilverLockPosition))
SilverLockChoice = input("The silver lock is currently set to the %s position.\n(l)eft position turn for the silver lock\n(r)ight position turn for the silver lock\n(c)enter position turn for the silver lock\n(d)on't change the position! Return to entranceway.\nWhat do you do?" %(SilverLockPosition))
if SilverLockChoice == 'l':
SilverLockChoice = Left
SilverLockPosition = SilverLockChoice
print('You set the Lock to the left.')
elif SilverLockChoice == 'r':
SilverLockChoice = Right
SilverLockPosition = SilverLockChoice
print('You set the Lock to the right.')
elif SilverLockChoice == 'c':
SilverLockChoice = Center
SilverLockPosition = SilverLockChoice
print('You set the Lock to the center.')
elif SilverLockChoice == 'd':
print('You left the room.')
elif HallwayChoice == 'r':
CurrentRoom = 'l'
print("\nYou're in a kitchen with many modern appliances. In front of you is gold lock with 3 positions: left, center and right. Behind you is the doorway to the entranceway. What do you do?")
GoldLockChoice = input("The Gold lock is currently set to the %s position.\n(l)eft position turn for the gold lock\n(r)ight position turn for the gold lock\n(c)enter position turn for the gold lock\n(d)on't change the position! Return to entranceway.\nWhat do you do?" % (Center))
if GoldLockChoice == 'l':
GoldLockChoice = Left
GoldLockPosition = GoldLockChoice
print('You set the Lock to the left.')
elif GoldLockChoice == 'r':
GoldLockChoice = Right
GoldLockPosition = GoldLockChoice
print('You set the Lock to the right.')
elif GoldLockChoice == 'c':
GoldLockPosition = Center
GoldLockChoice = GoldLockPosition
print('You set the Lock to the center.')
elif GoldLockChoice == 'd':
print('You left the room.')
else:
print("Invalid Choice. Please pick another one.")
source https://stackoverflow.com/questions/74117569/how-to-loop-these-if-statements
Comments
Post a Comment