前言
Raspbian的系统中包含了python的编程环境IDE,方便了我们对于python的学习。个人觉得还是游戏程序能够更好的激发我们的潜力所以,话不多说下面就来使用python编写我们简单的游戏程序吧。
储备知识
①import 模块:time时间模块、random随机数模块
②列表:[ ] #[]中放入值,与数组很像,但是不同
③def:定义函数
④python的缩进是编程格式的一种,if等都不需要{}括起来,关键看缩进区分
⑤if,while,def函数都要以 “:”开始
游戏概述
一进入游戏,主人公就会随机获取一个游戏已经设定的道具。最开始,主人公站在丛林的边缘,只有左右可选,左边是个洞穴,右边是沙滩。
选择左边,则开始可以获得手电筒,但是在洞穴中会碰到蛇hp-20,继续向下会到一个未知空间,游戏结束。
选择右边,会到沙滩 获得凉爽的水hp+70,但是由于没有游泳装备,如果继续选择游泳,会遇到海啸而死亡。
代码
[python] view plain copy
#Python Adventure Game import time import random #define variable health point hp = 30 #define variable object_ to show what the adventurer has object_=[] #define variable what the game sets tools = ["Torch","Rope","Spanner","50HP","10HP"] #set two acceptable answers ,select any one to end loop def get_input(prompt,accepted): while True: value = input(prompt).lower() if value in accepted: return value else : print("That is not a recognised answer,must be one of",accepted) def handle_room(location) : global hp if location== "start": print("You are stading on a path at the edge of a jungle.There is a cave to your left and a beach to your right.") object_.append(random.choice(tools)) print("Lucky,you have gained",object_[-1]) use_tools(object_) direction = get_input("Do you want to go left or right?",["left","right"]) if direction == "left": return "cave" elif direction == "right": return "beach" elif location == "cave": print("On the entrance of cave,you find a torch!!!") object_.append("Torch") print("You walk to the cave and notice there is an opening.") print("A small snake bites you,and you lose 20 health points.") hp-=20 answer = get_input("Do you want to go deeper?(y/n)",["y","n"]) if answer == "y": return "deep_cave" elif answer == "n": return "start" elif location == "beach": print("You walk to the beach but remember you do not have any swimwming equipment.") print("The cool water revitalizes you.You have never felt more alive,gain 70 health points.") hp+=70 answer = get_input("Do you want to go swimming?(y/n)",["y","n"]) if answer == "y": return "sea" elif answer == "n": return "start" elif location == "sea": print("Suddenly there was a tsunami,you can't escape.") hp=0 return "end" else : print("Programmer error,room",location,"is unknown") return "end" #define the function to use the tools of HP def use_tools(tool): global hp length = len(tool) for i in range(0,length): if tool[i]=="50HP": hp+=50 tool.pop(i) print("You have use the tool of 50HP") j+=1 elif tool[i]=="10HP": hp+=10 tool.pop(i) print("You have use the tool of 10HP") j+=1 #The begin of the program. location = "start" #Loop until we reach the special "end" location while location!="end": location = handle_room(location) #Check we are not dead each return print("You now have",hp,"health points.") if hp<=0: print("You are dead.\nGame Over!!!") break print("Your adventure has ended,bye~")
函数功能块简析
get_input(prompt,accepted) //(输入提示,可接受字符串)
handle_room(location) //通过位置的判断给出不同场景的设定和人物的走向
use_tools(tool) //人物若随机获得了HP类物品则立即使用,其他则无任何操作
运行截图