简单粗暴的射击游戏,最简单的射击游戏

  简单粗暴的射击游戏,最简单的射击游戏

  要说任何游戏都能赢得大家的喜爱,射击游戏是不二之选!本文将利用Python和Pygame库制作一个简单的射击游戏。感兴趣的朋友可以了解一下。

  00-1010前言一、运行环境二、代码展示三、效果展示1)游戏界面2)命中效果3) 3分

  

目录

  你好!你好。栗子上线啦~

  什么游戏能赢得大家的喜爱?

  只有射击游戏。之前火手游的《刺激战场》现在当然叫《和平精英》了。我想我是第一个下载的老玩家!地图丰富,体验不一样的射击游戏还是蛮有意思的。

  在射击游戏中,玩家可以通过瞄准和击杀敌人获得及时的反馈。射击在游戏圈已经占据一席之地很久了~

  今天的游戏代码就是受此启发。很简单很简单,一个程序员不可能秃顶。

  本期推荐一款Python游戏代码版《射击游戏》3354边肖命名为《无敌狙击手》,是一款简单的射击游戏。看看这段代码。你喜欢吗?

  适合零基础开发游戏的小白案例!超级简单

  游戏玩法:点击鼠标左键瞄准移动的目标,击中一次会加分。一次打到中间位置3分。

  

前言

  1)环境安装

  Python3,Pycharm,Pygame模块自带模块就不会显示。

  安装第三方库:pip安装pygame或

  带有镜像源pip install-I的https://pypi.douban.com/simple/模块名称

  2)素材(图片、音乐等。)

  

一、运行环境

  主程序

  导入pygame,os,随机

  从pygame.locals导入*

  从pygame.sprite导入*

  定义加载图像(名称):

  full name=OS . path . join(OS . path . join(OS . path . split(OS . path . ABS path(_ _ file _ _)[0], filedata ),name)

  image=pygame.image.load(全名)

  返回图像

  def load_sound(名称):

  full name=OS . path . join(OS . path . join(OS . path . split(OS . path . ABS path(_ _ file _ _)[0], filedata ),name)

  sound=pygame.mixer.Sound(全名)

  返回声音

  宽度=700

  高度=600

  班级爆炸(精灵):

  def __init__(self,screen,posrect):

  超级(爆炸,自我)。__init__()

  自我屏幕=屏幕

  self.posrect=posrect

  self . image=load _ image( explosion . png )

  self.rect=self.image.get_rect()

  self.rect=self.posrect

  self.rates=0

  定义更新(自身):

  self.rates=1

  如果自助率=40:

  self.kill()

  阶级敌人(精灵):

  def __init__(自身,屏幕):

  超级(敌人,自己)。__init__()

  自我屏幕=屏幕

  self . screen rect=self . screen . get _ rect()

  self . image=load _ image( eating food . png )

  self.rect=self.image.get_rect()

  自我纠正

  nter=(random.uniform(50,WIDTH-50),

   random.uniform(50,HEIGHT-50))

   self.xspeed=random.uniform(1,2)

   self.yspeed=random.uniform(1,2)

   if random.choice([True,False]):

   self.xspeed=-self.xspeed

   if random.choice([True,False]):

   self.yspeed=-self.yspeed

   def update(self):

   self.rect.centerx+=self.xspeed

   self.rect.centery+=self.yspeed

   if self.rect.top>self.screenrect.height or self.rect.bottom<0:

   self.kill()

   elif self.rect.left>self.screenrect.width or self.rect.right<0:

   self.kill()

  def initmain():

   pygame.init()

   screen=pygame.display.set_mode((WIDTH,HEIGHT))

   pygame.display.set_caption("")

   gameFont=pygame.font.SysFont("宋体",26,True)

   rates=0

   score=0

   fpstime=pygame.time.Clock()

   cursor=load_image("aimcursor.png")

   cursorrect=cursor.get_rect()

   pygame.mouse.set_visible(False)

   enemys=Group()

   explosions=Group()

   sou=load_sound("sou.mp3")

   duang=load_sound("duang.mp3")

   while True:

   fpstime.tick(70)

   screen.fill((128,128,128))

   screen.blit(gameFont.render("Score: "+str(score),True,(0,0,0)),(2,2))

   rates+=1

   enemys.draw(screen)

   enemys.update()

   explosions.draw(screen)

   explosions.update()

   if rates%25==0:

   enemys.add(Enemy(screen))

   cursorrect.center=pygame.mouse.get_pos()

   screen.blit(cursor,cursorrect)

   for event in pygame.event.get():

   if event.type==QUIT:

   pygame.quit()

   __import__("sys").exit()

   elif event.type==MOUSEBUTTONDOWN and event.button==1:

   cld=[]

   for sf in enemys:

   if sf.rect.collidepoint(event.pos):

   sf.kill()

   score+=int(abs(sf.xspeed)+abs(sf.yspeed))

   explosions.add(Explosion(screen,sf.rect.center))

   cld.append(True)

   else:

   cld.append(False)

   if not any(cld):

   sou.play()

   else:

   duang.play()

   pygame.display.flip()

  if __name__=="__main__":

   initmain()

  

  

​三、效果展示

  都是静态的截图展示,科能效果不是很好!动态的展示我就没录制视频了哈,大家拿代码自己玩儿哦~

  

  

1)游戏界面

  

  

  

2)击中效果

  

  

  

3)+3分

  

  到此这篇关于Python+Pygame实现简单的射击小游戏的文章就介绍到这了,更多相关Python Pygame射击游戏内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: