如何在此游戏/故事中移动到代码的不同部分

时间:2014-07-23 09:00:52

标签: python

在最初的问题之后你做了多少,它运作正常。如果你输入0你就会死,500万就说得好。在它说得很好之后,它会退出程序并忘记剩下的代码。

如何让python加载下一部分代码并运行它。

from sys import exit

def bank_vault():
    print "This room is full of money up to 5 million dollars. How much do you take?"

    choice = raw_input("> ")
    if "0" in choice:
        dead("You are robbing a bank and took nothing... The cops shot you in the face.")
        how_much = int(choice)

    if how_much < 5000000:
        print "Nice take, now you have to escape!"
        escape_route()

def escape_route():
    print "There are cops blocking the front door."
    print "There are cops blocking the back door."
    print "There is no way to get out of there."
    print "You see a small opening on the ceiling."
    print "Type ceiling to go through it."
    print "Or type stay to try your luck."
    escaped_cops = False

    while True:
        choice = raw_input("> ")

        if choice == "stay":
            dead("Your bank robbing friends left your stupid ass and the cops shot you in the face. Idiot move dipshit.")

        elif choice == "ceiling" and not escaped_cops:
            print "You escaped! Now wash that money and don't go to prison."
            escaped_cops = True

def dead(why):
    print why, ""
    exit(0)

bank_vault()

2 个答案:

答案 0 :(得分:0)

你必须调用函数escape_route而不是退出。

此外,在检查选择时,无论如何都要致电dead

回复你的评论:

你需要检查它是否为0,然后拨打dead,如果不是0,请不要打扰其他人,直接转到if how_much < 5000000,致电escape_route

如果输入不是0,您需要尝试将输入转换为int

如果超过5密耳会怎么样?

答案 1 :(得分:0)

酷游戏。我喜欢游戏,并希望尝试改进您的代码。下面的代码适用于Python 3.它应该适用于Python 2:

from sys import exit

try: input = raw_input          # To make it work both in Python 2 and 3
except NameError: pass

def bank_vault():
    print("This room is full of money up to 5 million dollars. How much do you take?")

    how_much = int(input("> ")) # Why not eliminate choice variable here?

    if how_much == 0:
        dead("You are robbing a bank and took nothing... The cops shot you in the face.")
    elif how_much < 5000000:    # Changed to else condition
        print("Nice take, now you have to escape!")
    else:                       # Added a check
        dead("There isn't that much!")


def escape_route():
    print("There are cops blocking the front door.")
    print("There are cops blocking the back door.")
    print("There is no way to get out of there.")
    print("You see a small opening on the ceiling.")
    print("Type ceiling to go through it.")
    print("Or type stay to try your luck.")
    escaped_cops = False

    while not escaped_cops:
        choice = input("> ")

        if choice == "stay":
            dead("Your bank robbing friends left your stupid ass and the cops shot you in the face. Idiot move dipshit.")
        elif choice == "ceiling":
            print("You escaped! Now wash that money and don't go to prison.")
            escaped_cops = True

def dead(why):
    print(why)
    exit(0)

bank_vault()
escape_route()