Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。
自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。本文主要就是说明基于树莓派python编程的游戏程序,一起来了解一下。
Raspbian的系统中包含了python的编程环境IDE,方便了我们对于python的学习。个人觉得还是游戏程序能够更好的激发我们的潜力所以,话不多说下面就来使用python编写我们简单的游戏程序吧。
储备知识
①import 模块:time时间模块、random随机数模块
②列表:[ ] #[]中放入值,与数组很像,但是不同
③def:定义函数
④python的缩进是编程格式的一种,if等都不需要{}括起来,关键看缩进区分
⑤if,while,def函数都要以 “:”开始
游戏概述
一进入游戏,主人公就会随机获取一个游戏已经设定的道具。最开始,主人公站在丛林的边缘,只有左右可选,左边是个洞穴,右边是沙滩。
选择左边,则开始可以获得手电筒,但是在洞穴中会碰到蛇hp-20,继续向下会到一个未知空间,游戏结束。
选择右边,会到沙滩 获得凉爽的水hp+70,但是由于没有游泳装备,如果继续选择游泳,会遇到海啸而死亡。
代码
#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类物品则立即使用,其他则无任何操作
运行截图
评论
查看更多