怎么用Python代码实现简单飞机大战游戏
怎么用Python代码实现简单飞机大战游戏
这篇文章主要讲解了“怎么用Python代码实现简单飞机大战游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python代码实现简单飞机大战游戏”吧!
功能
玩家飞机可以移动,可以发射子弹,敌机随机产生,自由坠落。未添加击落敌机的功能。主要用来练习类的封装与继承。
源码
#-*-coding=utf-8-*-importpygame,randomfrompygame.localsimport*classBase(object):def__init__(self,x,y,screen):self.screen=screenself.x=xself.y=yclassPlayer(Base):def__init__(self):super().__init__(210,600,screen)self.playerName="./feiji/hero.gif"self.player=pygame.image.load(self.playerName).convert()self.bullet_list=[]defdisplay(self):self.screen.blit(self.player,(self.x,self.y))forbulletinself.bullet_list:bullet.display()bullet.mov()defmove_left(self):self.x-=10defmove_right(self):self.x+=10defmove_up(self):self.y-=10defmove_down(self):self.y+=10defshot(self):bullet=Bullet()self.bullet_list.append(bullet)classBullet(Base):def__init__(self):super().__init__(player.x+40,player.y-20,screen)self.bulletName="./feiji/bullet-3.gif"self.bullet=pygame.image.load(self.bulletName).convert()defdisplay(self):self.screen.blit(self.bullet,(self.x,self.y))defmov(self):self.y-=10classEnemy(Base):def__init__(self):super().__init__(random.randint(1,10)*40,0,screen)self.enemyName="./feiji/enemy-1.gif"self.enemy=pygame.image.load(self.enemyName).convert()self.enemy_list=[]self.i=0defmov(self):self.y+=2classEnemyArea(Enemy):defdisplay(self):#每隔一段时间创建一架敌机ifself.i%80==0:new_enemy=Enemy()self.enemy_list.append(new_enemy)self.i+=1forenemyinself.enemy_list:self.screen.blit(enemy.enemy,(enemy.x,enemy.y))enemy.mov()if__name__=="__main__":#创建一个窗口,用来显示内容screen=pygame.display.set_mode((480,890))#创建一个和窗口大小的图片,用来充当背景background=pygame.image.load("./feiji/background.png").convert()player=Player()enemy=Enemy()enemy_area=EnemyArea()whileTrue:screen.blit(background,(0,0))player.display()enemy_area.display()#判断按键foreventinpygame.event.get():ifevent.type==QUIT:exit()elifevent.type==KEYDOWN:ifevent.key==K_aorevent.key==K_LEFT:player.move_left()elifevent.key==K_dorevent.key==K_RIGHT:player.move_right()elifevent.key==K_worevent.key==K_UP:player.move_up()elifevent.key==K_sorevent.key==K_DOWN:player.move_down()elifevent.key==K_SPACE:player.shot()elifevent.key==K_q:exit()pygame.display.update()pygame.time.delay(10)
结果展示
感谢各位的阅读,以上就是“怎么用Python代码实现简单飞机大战游戏”的内容了,经过本文的学习后,相信大家对怎么用Python代码实现简单飞机大战游戏这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
推荐阅读
-
python(中无效的十进制怎么解决 python怎么转换进制)
python怎么转换进制?Python执行二进制转换:1.十进制到二进制(bin)首先,让让我们看看如何将十进制转换成二进制。我...
-
python怎么清除完全相同的行(python splte如何分隔有多个相同符号的str)
pythonsplte如何分隔有多个相同符号的str?str你的string内容str_(相同的符号)执行完了以后再在相同符号的...
-
python(编程控制电脑关机 如何控制电脑关机)
如何控制电脑关机?可以在电脑的运行窗口中输入输入公式,给电脑可以设置自动关机。1.按开快捷键winr然后打开运行窗口。2.在运行窗...
-
python中的特殊标识符(python 中 标识符中可以有逗号吗)
python中标识符中可以有逗号吗?在python语言中合法的标识符是字母、数字以及_,所以我合法的标识符中肯定不能有逗号if...
-
python(excel 提取数据写入新表 python导入excel数据找不到工作簿)
python导入excel数据找不到工作簿?我可以导入数据后找不到工作,不是因为他的工作没有被转移。什么软件可提取并合并Exce...
-
python中字典定义的四种方法(python global关键字的用法详解)
pythonglobal关键字的用法详解?global标志实际上是目的是提示python讲解器,说被其修饰的变量是全局变量。这样...
-
python(array用法 python如何对两个数组做差处理)
python如何对两个数组做差处理?Python中的列表中的元素肯定不能真接相加,减。t最佳的位置的是将列表装换成Python中的...
-
python多行注释符号怎么表示
python多行注释符号怎么表示这篇文章主要介绍“python多行...
-
python支持的操作系统是什么
python支持的操作系统是什么这篇文章主要介绍“python支持...
-
python如何判断列表为空
python如何判断列表为空这篇文章主要介绍“python如何判断...