简体   繁体   中英

How to loop back to beginning

How would i fix this:

print 'Adventure Game'

choice_1 = raw_input('You are travelling down a long road, there is a fork in the route, one side goes to a jungle, and the other leads to a hill biome, which side do you choose?            J for Jungle, H for Hill ')

if choice_1 == 'J':
    print 'Jungle?, very well then' 

elif choice_1 == 'H':
    print 'Hill, good decision'

if choice_1 == 'J':
    choice_2 = raw_input('In the jungle, a king cobra appears behind you, as you look forward, an ape leaps from a tree onto the ground. Do you take your chances with the venomous king cobra, or the enormous ape? C for cobra, A for ape ')

while choice_2 != 'A':
    print 'Sorry, you were bit by the cobra and died'
    print 'Please try again'

if choice_2 == 'A':
    break

elif choice_2 == 'A':
    print 'You were almost mauled by the ape, luckily, it fleed the scene after loosing sight of you'

i want it to restart if the user chooses c for choice_2, and so that it starts from the beginning every single time that this happens

I would suggest using functions for each location, that way you can call the same function multiple times or inside other functions.

For example:

def road():
    choice = ''
    while choice not in ['j','h']:
        choice = raw_input('You are travelling down a long road, there is a fork in the route, one side goes to a jungle, and the other leads to a hill biome, which side do you choose?            J for Jungle, H for Hill ').lower()
    if choice == 'j':
        jungle()
    elif choice == 'h':
        hill()

def jungle():
    choice = ''
    while choice not in ['c','a']:
        choice = raw_input('In the jungle, a king cobra appears behind you, as you look forward, an ape leaps from a tree onto the ground. Do you take your chances with the venomous king cobra, or the enormous ape? C for cobra, A for ape ').lower()

    if choice == 'c':
        print 'Sorry, you were bit by the cobra and died'
        print 'Please try again'
        return
    elif choice == 'a':
        print 'You were almost mauled by the ape, luckily, it fleed the scene after loosing sight of you'
        next_func_here()

while True:
    print 'Adventure Game Starts Here!'
    road()
    print 'restarting...'

This way you can keep adding functions quickly and easily, and is also easier to debug. The while loop means that if road() exits, it loops back to the beginning and restarts road() .

print 'Adventure Game'
choice_1 = raw_input('You are travelling down a long road, there is a fork in the route, one side goes to a jungle, and the other leads to a hill biome, which side do you choose?            J for Jungle, H for Hill ')
if choice_c == 'J':
    while True:
        choice_2 = raw_input('In the jungle, a king cobra appears behind you, as you look forward, an ape leaps from a tree onto the ground. Do you take your chances with the venomous king cobra, or the enormous ape? C for cobra, A for ape ')
        if choice_2 != 'A':
            print 'Sorry, you were bit by the cobra and died'
            print 'Please try again'
        elif choice_2 == 'A':
            print 'You were almost mauled by the ape, luckily, it fleed the scene after loosing sight of you'
            break
elif choice_1 == 'H':
    print 'Hill, good decision'

you can do an input at the bottom that says "would you like to continue?" and set it to a variable. Then wrap your entire game in a while loop.

cont = True
while continue == True:
    #put all your code here
    cont = input("Would you like to continue? (T/F)")

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM