美文网首页
ex34~ex35一个游戏

ex34~ex35一个游戏

作者: 果三代 | 来源:发表于2016-03-22 23:36 被阅读107次

ex35写了一个游戏,代码贴上

from sys import exit

def gold_room():
    print "This room is full of gold. How much do you take?"

    choice = raw_input("> ")
    if "0" in choice or "1" in choice:
        how_much = int(choice)
    else:
        dead("Man, learn to type a number.")

    if how_much < 50:
        print "Nice, you're not greedy, you win!"
        exit(0)
    else:
        dead("You greedy bastard!")

def bear_room():
    print "There is a bear here."
    print "The bear has g bunch of honey."
    print "The fat bear is in front of another door."
    print "How are your going to move the bear?"
    bear_move = False

    while True:
        choice = raw_input("> ")

        if choice == "take honey":
            dead("The bear looks at your then slaps your face off.")
        elif choice == "taunt bear" and not bear_move:
            print "The bear has moved from the door. You can go through in now."
            bear_move = True
        elif choice == "taunt bear" and bear_move:
            dead("The bear gets pissed off and chews your leg off.")
        elif choice == "open door" and bear_move:
            gold_room()
        else:
            print "I got no idea what thet means."

def cthulhu_room():
    print "Here you see the great evil Cthulhu."
    print "He, it, whatever stares at you and you go insane."
    print "Do you flee for your life or eat your head?"

    choice = raw_input("> ")

    if "flee" in choice:
        start()
    elif "head" in choice:
        dead("Well that waw tasty!")
    else:
        cthulhu_room()

def dead(why):
    print why,"Good job!"
    exit(0)

def start():
    print "You are in a dark room."
    print "There is a door to your right and left."
    print "Which one do you take?"

    choice = raw_input("> ")

    if choice == "left":
        bear_room()
    elif choice == "right":
        cthulhu_room()
    else:
        dead("You stumble around the room until you starve.")

start()

上面有一句代码有Bug,就是这一句 if "0" in choice or "1" in choice:因为通过raw_input()接收到的都是字符串类型,并不能直接判断是否为数字,我上网搜了一下,找到一个方法:

s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。

再结合上面的代码,这个问题就解决了,原代码写的很奇怪

相关文章

  • ex34~ex35一个游戏

    ex35写了一个游戏,代码贴上 上面有一句代码有Bug,就是这一句 if "0" in choice or "...

  • 06笨方法学Python|ex35-ex37keyword

    ex35 这个程序应该倒着读,就理解了。要先输入taunt bear,进入分支,然后将bear_moved这个向量...

  • 笨法儿学python ex35

  • 笨办法学Python ex35

    分支和函数 输入: 运行: 附加题 这个 gold_room 游戏使用了奇怪的方式让你键入数字。这种方式会导致什么...

  • 一个不是游戏的游戏

    文/Lemon (翻开曾经的日志,回顾曾经的“游戏”,咀嚼曾经的想法,原来我们已经散了那么久。重新打开看看,并非晒...

  • 一个游戏

    十三个人,抽卡牌。一对十二。魍魉,反派大boss,杀光所有人可以活下去。道士一个,唯一可以杀死魍魉的人,魍魉死则十...

  • 一个游戏

    有一个游戏一个非常神奇的游戏,它只能玩六年,玩完了就再也回不去了。 玩完了就在也不能玩了,它会让你...

  • 一个游戏

    今天上午第三节课老师让我们玩了一个游戏。 首先,让我们拿起来一张纸。然后,再在纸...

  • 一个游戏

    今天,早上黄老师跟我们说了王冠琳在兴趣班写的一篇文章。 写的...

  • 一个游戏

    开发的第一个安卓游戏完成了Demo,现在在寻找美工,这个创意肯定会火。

网友评论

      本文标题:ex34~ex35一个游戏

      本文链接:https://www.haomeiwen.com/subject/tyyllttx.html