текстовая приключенческая игра, устранение петель - PullRequest
0 голосов
/ 12 октября 2019

Я создаю текстовую приключенческую игру, как практика. И я уже некоторое время работаю над этой приключенческой игрой ... В основном я использовал операторы if, elif и else для 90% кода ... (полный код не показан, приведенный ниже код является лишь частью)В коде МНОГИЕ слои, и я пытался выяснить, как сделать цикл, который не требует одинакового уровня отступа, мне интересно, может ли кто-нибудь помочь мне с этим? Должен ли я переосмыслить формат кода? или я могу использовать свой существующий код, заполненный функциями else, if и elif?

Я не могу понять, как использовать циклы while и for в моей ситуации для моей жизни.

#setup
name = ('Ashe')
robot_name = ('bob')
status = []
#status is the "players life.  1=alive; 0=dead"
#game_start (not really) many more layers of code supposed to be before these... the decision the user leads to here...
answer = input('input either 1 or 2')
if (answer == "1"):
    #there are many layers and "decisions here"
    print(f"""{robot_name}:[let me get through this wall of bright blue vines] """)
    print(f"""{robot_name}:[There is a LOT of these vines, maybe this IS the wa---] """)
    print(f"""{robot_name}:[We wandered into a tar pit... there does not seem to be anything to help us...] """)
    print(f"""{robot_name}:[I am sinking FAST... {name} I don't think I will make it... I will keep this brief] """)
    print(f"""{robot_name}:[Thank you for everything thus far, please do not blame youself for this... and... goodbye...] """)
    print(f"""User [{name}] - Disconnected from unit {robot_name}."you died" """)
    #how to make this point loop back to "#game_start" 
if (answer == '2'): 
    #many layers added here
    answer = input(f"""you are still alive and finished the game. would you like to play again?' (yes/no)""")
    if answer == ('yes'):
        print('alright, we will start the game again')
        #many more layers, how to loop back to start?
    elif answer == ('no'):
        print('guess not')
        #loop back to start

else:
    print('not working?')
    #loop back to start

Я пытаюсь вернуться к началу или середине кода, независимо от каких-либо решений. несмотря на разные уровни отступа.

...