#-*- coding:utf-8-*-
from sys import exit
def gold_room():#定义函数gold_room
print "This room is full of gold.How much do you take?"
next = raw_input("> ")
if "0" in next or "1" in next:#判断0或者1在next为真时:
how_much = int(next)
else :#判断0或者1在next为假时:
dead("Man learn to type a number.")#调用函数dead
if how_much < 50 :#判断howmuch小于50 为真时:
print "Nice ,you're not greedy,you win!"
exit(0)
else:
dead("You greedy bastard!")
def bear_room():#定义函数bear_room
print "There is a bear here."
print "The bear has a bunch of honey."
print "The fat bear is in front of another door."
print "How are you going to move the bear?"
bear_moved = False#变量初始值为假
while True:#死循环开始
next = raw_input("> ")
if next == "take honey":#判断next内容
dead("The bear looks at you then slaps your face off.")#调用函数dead
elif next == "taunt bear" and not bear_moved:
print "The bear has move from the door.You can go through it now.",bear_moved
bear_moved = True#把bear_moved重新赋值为true
elif next == "taunt bear" and bear_moved:
dead("The bear gets pissed off and chews your legs off.")#调用函数dead
elif next == "open door" and bear_moved:
gold_room()
else:
print "I got no idea what that means."
print "This is good",bear_moved
def cthulhu_room():
print "Here you see the great evil Cthulhu.."
print "He,it ,whatever stares at you and you insane."
print "Do you flee for your life or eat your head?"
next = raw_input("> ")
if "flee" in next:
start()
elif "head" in next :
dead("Well that was 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 righ and left."
print "Whice one do you take?"
next = raw_input("> ")
if next == "left":
bear_room()
elif next == "right":
cthulhu_room()
else:
dead("You stumble around the room until you starve.")
from sys import exit
def gold_room():#定义函数gold_room
print "This room is full of gold.How much do you take?"
next = raw_input("> ")
if "0" in next or "1" in next:#判断0或者1在next为真时:
how_much = int(next)
else :#判断0或者1在next为假时:
dead("Man learn to type a number.")#调用函数dead
if how_much < 50 :#判断howmuch小于50 为真时:
print "Nice ,you're not greedy,you win!"
exit(0)
else:
dead("You greedy bastard!")
def bear_room():#定义函数bear_room
print "There is a bear here."
print "The bear has a bunch of honey."
print "The fat bear is in front of another door."
print "How are you going to move the bear?"
bear_moved = False#变量初始值为假
while True:#死循环开始
next = raw_input("> ")
if next == "take honey":#判断next内容
dead("The bear looks at you then slaps your face off.")#调用函数dead
elif next == "taunt bear" and not bear_moved:
print "The bear has move from the door.You can go through it now.",bear_moved
bear_moved = True#把bear_moved重新赋值为true
elif next == "taunt bear" and bear_moved:
dead("The bear gets pissed off and chews your legs off.")#调用函数dead
elif next == "open door" and bear_moved:
gold_room()
else:
print "I got no idea what that means."
print "This is good",bear_moved
def cthulhu_room():
print "Here you see the great evil Cthulhu.."
print "He,it ,whatever stares at you and you insane."
print "Do you flee for your life or eat your head?"
next = raw_input("> ")
if "flee" in next:
start()
elif "head" in next :
dead("Well that was 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 righ and left."
print "Whice one do you take?"
next = raw_input("> ")
if next == "left":
bear_room()
elif next == "right":
cthulhu_room()
else:
dead("You stumble around the room until you starve.")
start()
函数bear_room()中的while循环,最初定义的时候,bear_moved的值是False,not bear_moved就是bear_moved的反义,所以它的值是True,所以当你输入next的值是taunt bear时,elif next == "taunt bear" and not bear_moved就是True and True,它就会执行print "The bear has moved from the door. You can go through it now."
bear_moved = True,此时bear_moved的值就重新赋值为True,继续重复while循环