飞机大战小游戏,这里需要下载pygame模块
这是需要的素材,需要的自取:





上代码:

import time
import pygame
from pygame.locals import *#检测事件,如键盘鼠标按键
import sys#停止这个游戏
import random
class Player():def __init__(self,screen):self.screen=screenself.x=150self.y=500self.img=pygame.image.load(r"feiji/hero1.png")self.BulletList=[]self.moveLeftState=0self.moveRightState=0def display(self):self.screen.blit(self.img,(self.x,self.y))   for b in self.BulletList:b.display()b.move()if b.y<0:self.BulletList.remove(b)def move(self):if self.moveLeftState==1 and self.x>-55:self.x-=5if self.moveRightState==1 and self.x<250:self.x+=5def fire(self):b=PlayerBullet(self.screen,self.x,self.y)self.BulletList.append(b)class PlayerBullet():def __init__(self,screen,x,y):self.screen=screenself.x=x+35#初始位置,需要跟随飞机self.y=y-35self.img=pygame.image.load(r"feiji/bullet.png")def display(self):self.screen.blit(self.img,(self.x,self.y))      def move(self):self.y-=20class Emeny():def __init__(self,screen):self.screen=screenself.x=0self.y=0self.img=pygame.image.load(r"feiji/enemy0.png")self.BulletList=[]self.moveState=1#0左移 1右移def display(self):self.screen.blit(self.img,(self.x,self.y))for b in self.BulletList:b.display()b.move()if b.y>=600:self.BulletList.remove(b)  def move(self):if self.moveState==1:self.x+=5elif self.moveState==0:self.x-=5if self.x<-30:self.moveState=1elif self.x>285:self.moveState=0def fire(self):b=EmenyBullet(self.screen,self.x,self.y)self.BulletList.append(b)class EmenyBullet():def __init__(self,screen,x,y):self.screen=screenself.x=x+23#初始位置,需要跟随飞机self.y=y+35self.img=pygame.image.load(r"feiji/bullet2.png")def display(self):self.screen.blit(self.img,(self.x,self.y))    def move(self):self.y+=20def key_control(player):for event in pygame.event.get():if event.type==QUIT:print("正在退出.....")sys.exit(0) #强制退出elif event.type==KEYDOWN: #键盘输入if event.key==K_LEFT:print("玩家向左!")player.moveLeftState=1if event.key==K_RIGHT:print("玩家向右!")player.moveRightState=1if event.key==K_SPACE: #捕捉空格键print("玩家开火!")player.fire()elif event.type==KEYUP: #键盘释放if event.key==K_LEFT: #释放左键print("停止向左...")player.moveLeftState=0if event.key==K_RIGHT: #释放右键print("停止向右...")player.moveRightState=0class main():screen=pygame.display.set_mode((300,600))background=pygame.image.load(r"feiji/background.png")#创建玩家对象并显示窗口内player=Player(screen)emeny=Emeny(screen)while 1==1:screen.blit(background,(0,0))player.display()emeny.display()emeny.move()player.move()r=random.randint(1,15)if r==8:emeny.fire()key_control(player)pygame.display.update()time.sleep(0.05)if __name__ == '__main__':main()

python 飞机大战小游戏相关推荐

  1. python——飞机大战小游戏

    目录 1.导入模块 2.窗口操作 3.事件操作 4.长按事件 5.添加游戏背景 6.添加英雄飞机 7.获取飞机的图片矩形 8.基本游戏窗口 9.添加游戏窗口图片 10.英雄飞机登场 11.英雄飞机装备 ...

  2. Python快速实现简易飞机大战小游戏

    参考:用python实现简单的飞机大战小游戏_化华桦的博客-CSDN博客_python飞机大战 敌机图片: 我方飞机: 子弹: 背景图: 主函数代码main.py: from PySide2 impo ...

  3. python飞机大战加背景音乐_python实现飞机大战小游戏 python飞机大战中的音频文件怎么改成MP3...

    怎么样用Python写飞机大战游戏 python开发飞机大战外星人游戏怎么弄双人模式新的一年,哪怕仍是一个人,也要活得像一支队伍,为自己的头脑和心灵招兵买马,不气馁,有召唤,爱自由. 主函数 impo ...

  4. python小游戏——飞机大战小游戏(附源码)

    写在前面的一些P话: 大家之前用python编写过飞机大战的部分代码, 只能够展示英雄飞机,背景,敌机和发射子弹, 今天把背景音乐,击毁敌机,爆炸特效,得分等等相关功能一并加入进来, 代码有点长,三百 ...

  5. 【python】飞机大战小游戏练习

    飞机大战小游戏练习 一.前提准备 二.制作步骤 1.库的导入与初始化 2.窗口操作 3.键盘按键监听相关操作 4.添加游戏背景 5.加载玩家飞机 6.获取玩家飞机矩阵 三.完整代码编写 游戏背景类编写 ...

  6. 飞机大战小游戏(超详细)

    偷学Python之最后的项目二:飞机大战小游戏(超详细) 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志.--苏轼 甜甜先说 这次用Python中的pygame模块来完成一个飞机大战的小游戏:基本思 ...

  7. 飞机大战小游戏源码---飞机大战初体验

    开发环境: Windows10,pycharm,python3 源码使用教程: 打开pycharm,创建一个新的项目,文件-->新建项目 项目命名:飞机大战初体验,基本解释器选择python3版 ...

  8. 体感游戏 | 手势识别玩飞机大战游戏(一) 用pygame实现飞机大战小游戏

    Color Space OpenCV与AI深度学习 后面将分四篇文章来介绍实现手势识别控制飞机大战游戏的功能,它们分别是: 使用Pygame实现简易飞机大战小游戏 使用Python+OpenCV实现简 ...

  9. 点击list view中一行内容可以在combox中显示_java版飞机大战小游戏详细教程(零基础小白也可以分分钟学会!)...

    一:游戏展示 飞机大战小游戏我们都玩过,通过移动飞机来打敌机,这里给大家展示一下游戏成果:呜呜呜由于gif只能上传5M大小,所以就不能给大家展示操作了,如果大家有兴趣可以自己自己做出来再玩哟. 这里面 ...

最新文章

  1. ado.net图片点击刷新_华为官方解答为何微信保存的图片不在图库显示
  2. 各类操作系统的TTL字段值
  3. 计算机组装维护的概念,实用计算机组装与维护库及概念.doc
  4. 静态链接库与动态链接库的区别(Sqlite\Visual Studio 2017)
  5. input输入框小写字母自动转换成大写字母
  6. 解决Shockwave flash在谷歌浏览器上崩溃的问题
  7. CornerNet: 将目标检测问题视作关键点检测与配对
  8. intellij Find Usage 查找符号使用快捷键alt + f7在ubuntu下无法使用的解决方法
  9. 澳洲穷人的生活什么样?
  10. PHP生成腾讯云API签名
  11. 69张图回顾2021和看透2022
  12. JDK下载、安装和环境配置
  13. 程序员做笔记的利器:MarkDown软件
  14. python---会员管理系统
  15. 小程序中 使用canvas 生成推广图片——wepy框架
  16. LSI SAS9311-8i阵列卡更新固件、刷新IT模式过程详解
  17. 计算机用户名及密码修改,电脑用户名是什么意思(怎么修改及设置用户名)
  18. PHP strtotime函数详解
  19. 博通蓝牙linux,好消息,使用Broadcom蓝牙的有福了,新驱动,新选择,BrcmPatchRAM...
  20. Win11共享文件夹打不开怎么办

热门文章

  1. MySQL · 源码分析 · 一条insert语句的执行过程
  2. 路由器刷机常见第三方固件及管理前端种类(OpenWrt、Tomato、DD-Wrt)
  3. 通过组策略找回“网上邻居”
  4. mysql定时执行存储过程
  5. [翻译]在GridView中插入新记录
  6. hdu 1584蜘蛛牌(DFS)
  7. hdu 2045(递推)
  8. CodeForces 416B
  9. poj-1042 nyoj-30(Gone fishing)
  10. nyoj1311勤奋的涟漪