基于树莓派python编程的游戏程序

电子常识

2585人已加入

描述

  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类物品则立即使用,其他则无任何操作

  运行截图

  树莓派

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分