习题35
python:3.9
from sys import exit
def gold_room():
print ("This room is full of gold. How much do you take?")
next = input (">")
if "0" in next or "1" in next :
hou_much =int(next)
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 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 = input(">")
if next =="take honey":
dead ("The bear looks at you then slaps your face off.")
elif next =="taunt bear"and not bear_moved:
print ("The bear has moved from the door .You can go through it now.")
bear_moved = True
elif next =="taunt bear" and bear_moved:
dead ("The bear gets pissed off and chews your leg off.")
elif next =="open door" and bear_moved:
gold_room()
else:
print ("I got no idea what that means.")
def cthulhu_room():
print ("Here you see the great evil Cthulhu.")
print ("He,it ,whatever stares at you and you go insance.")
print ("Do you flee for your life or eat your head?")
next =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 right and left.")
print ("Which one do you take ?")
next =input (">")
if next =="left":
bear_room()
elif next =="right":
Cthulhu_room()
else:
dead("You stumble around the room until you starve.")
start()
运行结果
PS C:\Users\78523\mybuff> python ex35.py
You are in a dark room.
There is a door to your right and left.
Which one do you take ?
>left
There is a bear here.
The bear has a bunch of honey.
The fat bear is in front of another door.
How are you going to move the bear?
>taunt bear
The bear has moved from the door .You can go through it now.
>open door
This room is full of gold. How much do you take?
>asf
Man, learn to type a number. Good job!
加分习题
1.把这个游戏的地图画出来,把自己的路线也画出来。
画画水平不高就不花花了
2.改正你所有的错误,包括拼写错误。
3.为你不懂的函数写注解。记得文档注解该怎么写吗?
“#”,来注释
4.为游戏添加更多元素。通过怎样的方式可以简化并且扩展游戏的功能呢?
5.这个 gold_room游戏使用了奇怪的方式让你键入一个数字。这种方式会导致什么样的 bug?你可以用比检查0、1 更好的方式判断输入是否是数字吗?int()这个函数可以给你一些头绪。
先暂留问题,等有空解