1 #-*- coding: UTF-8 -*-
2 from sys import exit
3 #作出判断选择进森林还是出海冒险
4 def start():
5 print "Now you are on an island,"
6 print "you got a lot of things,but you're lonely and bored at your surroundings,"
7 print "you gonna do something."
8 do_sth = raw_input(">")
9 if "yes" in do_sth:
10 print "OK,now let's make a choice for what to do next."
11 print "You can go inside the forest or you can take a ship to the sea."
12 choice = raw_input(">")
13 if "forest" in choice:
14 forest()
15 elif "sea" in choice:
16 sea()
17 else:
18 dead("you've just made the wrong choice,and you died.please restart the game.")
19 else:
20 print "Come on man ,don't be a sluggard ,say yes and let'move."
21 start()
22
23
24
25
26 #定义死亡:打印死亡原因,并退出游戏
27 def dead(why):
28 print why,"What a pity."
29 exit(0)
30
31 #定义 兔子 事件,选择“shoot"之后,包里有枪就打死兔子并带走
32 def rabbit():
33 print "Now there is a rabbit in front of you.Propably you can shoot it and take it as your prey."
34 print "shoot or not?"
35 choice_of_rabit = raw_input(">")
36 if "sho" in choice_of_rabit :#为什么这里用 if choice_of_rabit = "shoot"就不行?
37 if "gun" in package:
38 print "Bang,you got it!awesome."#如果我想要任何时候输入一个指令都能够查看我包裹里的东西,该怎么做?
39 package.append("dead rabbit")
40 print "Check your package.",package#这么写行么?
41 else:
42 print "Stupid! You forgot to take a gun."
43 else:
44 print "God bless you.Go ahead."
45
46 #定义“熊”事件,包含“run"和”fight"两种应对模式
47 def bear():
48 print "Hey,watch out man."
49 cotinue = raw_input(">")
50 print "There is a bear in front of you ,and it's staring at you ."
51 cotinue = raw_input(">")
52 print "So what would do? run? or fight?"
53 while True:
54 choice_of_bear1 = raw_input(">")
55 if "run" in choice_of_bear1:
56 run()
57 break
58 elif "fight" in choice_of_bear1:
59 fight()
60 break
61 else:
62 print"illeagal input,please try again."
63
64
65 #逃跑 函数,需要判断包裹内物品然后决定生死
66 def run ():
67 if "dead rabbit" in package:
68 print "Oh,I got an idea,maybe you can throw your rabbit so the bear would be distracted."
69 cotinue = raw_input(">")
70 print"Do you wanna throw your rabbit?"
71 while True:
72 choice_of_run = raw_input(">")
73 if "yes" in choice_of_run:
74 print"Excellent,the bear is eating the rabbit,and you made it to run."
75 break
76 elif "no" in choice_of_run:
77 dead("You died because of your mean")
78 break
79 else:
80 "Illeagal input ,say yes or no."
81 else:
82 dead("The bear catch you and eats you.")
83
84 #战斗 函数,同样判断包裹内物品决定生死,但我觉得其实应该可以在使用axe后者dagger哪里不设置死亡,而是造成不同伤害值。
85 def fight():
86 print "Now my hero,pick up something from your bag,and start fighting."
87 print "What do you want?"
88 while True:
89 choice_of_fight = raw_input(">")
90 if choice_of_fight in package:
91 if "gun" in choice_of_fight:
92 print"BANG!BANG BANG BANG!You shoot it,and the bear died."
93 break
94 else:
95 dead("You fight with %s,you're so brave,but still killed by the bear." %choice_of_fight)
96 else:
97 print "You don't have a %s,please make sure it's in your package." %choice_of_fight
98
99
100
101
102
103
104
105
106
107
108
109 #整个森林冒险函数
110
111 def forest():
112 ware_house = ["water","axe","dagger","bread","gun","boots","electric torch","compass","life jacket","beer","dog"]
113 print "You need to make a package before you leave.You can only choose five stuffs.Now go and get what you want."
114 print ware_house
115 stuff_number = len (package)
116 while stuff_number < 5:
117 stuffs = raw_input(">")
118 if stuffs in ware_house :
119 package.append(stuffs)
120 ware_house.remove(stuffs)
121 print "Now that what you have:",package
122 print "You can also take something from ware_house.",ware_house#这里想不明白:第五次输入之后,按理说应该直接到“You've taken enough things "那里,但是现在的情况是还会多打印两行
123 else:
124 print "Wrong input,please try again."
125 stuff_number = len (package)
126 else:
127 print "You've taken enough things ,or it will be to heavy."
128 cotinue = raw_input(">")
129 print"--------------------------------------------------------"
130 print"Now let's start the journey."
131 print"There is a mushroom on the roadside,you wanna take it?"
132
133 while True:
134 choice_mshrom = raw_input(">")
135 if "yes" in choice_mshrom:
136 package.append("mushroom")
137 print "OK,you have mushroom in your package now."
138 break
139 elif "no" in choice_mshrom:
140 print "Well,a good choice,Ah~"
141 break
142 else:
143 print"illeagal input,say yes or no."#这里如果出现非法输入,应当是回到前面的,怎么实现该?解决方案:While True 来实现。
144 print"--------------------------------------------------------"
145 rabbit()
146 print"--------------------------------------------------------"
147 bear()
148
149 #要想正常运行那些函数,首先要定义一个package,否则会出错。
150 package = []
151 start()
152
153
154
155
156