import pygame
import sys# back  返回,后面
# ground 地面
# 哪一行代码确定战机的位置,27行,用坐标确定战机位置
# 飞机的类
# 飞机名字, 飞机的位置,窗口,图片
class feiji():def __init__(self, ck):self.name = "hero"self.x = 200self.y = 400self.chuangkou = ckself.picture = pygame.image.load("hero1.png")self.zidan_ku = []# 把飞机放到屏幕上def show(self):self.chuangkou.blit(self.picture, (self.x, self.y))# 如果有子弹,就放上窗口# print(len(self.zidan_ku))for dan_ge_zidan in self.zidan_ku:dan_ge_zidan.show()# 飞机的子弹移动dan_ge_zidan.move__fd()if dan_ge_zidan.yuejie():self.zidan_ku.remove(dan_ge_zidan)# move 向左移动def move_left(self):self.x -= 20if self.x < -25:self.x = 5# 向右移动def move_right(self):self.x += 20if self.x >= 330:self.x = 330# 发射子弹的函数def fashe(self):# 新建子弹对象保存到zidan1变量到列表里去self.zidan_ku.append(zidan(self.chuangkou, self.x + 48, self.y - 10, "zidan1.gif"))self.zidan_ku.append(zidan(self.chuangkou, self.x + 14, self.y + 25, "zidan2.png"))self.zidan_ku.append(zidan(self.chuangkou, self.x + 80, self.y + 25, "zidan3.png"))# 子弹的类
# 属性:子弹的位置 ,子弹窗口,子弹图片,伤害,子弹名字,子弹数量,
# 方法:子弹的show展示,move移动
class zidan():def __init__(self, ck, x, y, zidan_tupian):self.x = xself.y = yself.window = ckself.picture = pygame.image.load(zidan_tupian)def show(self):# print("子弹的y坐标是%d"%self.y)self.window.blit(self.picture, (self.x, self.y))def move__fd(self):self.y = self.y - 1def move__djfd(self):self.y = self.y + 1def yuejie(self):if self.y < -100:return Trueelse:return Falsedef yuejie2(self):if self.y > 700:return Trueelse:return False"""
敌机类:
属性:飞机位置 ,飞机图片,飞机名字,飞机窗口
方法:移动,开火
"""
class diji():def __init__(self,ck):self.name="diji"self.x = 0self.y =0self.picture = pygame.image.load("diji.png")self.zidan_ku=[]self.chuangkou = ckdef show(self):self.chuangkou.blit(self.picture,(self.x,self.y))for dan_ge_zidan in self.zidan_ku:dan_ge_zidan.show()# 飞机的子弹移动dan_ge_zidan.move__djfd()if dan_ge_zidan.yuejie2():self.zidan_ku.remove(dan_ge_zidan)def right(self):self.x+=20# if self.x>=330:#     self.x=330def left(self):self.x-=20# if self .x<-25:#     self.x=5def fashe(self):self.zidan_ku.append(zidan(self.chuangkou, self.x + 48, self.y - 10, "dijizidan.png"))# 控制飞机
def key_kong(hero,fei_jie_lei_xing):for shi_jian in pygame.event.get():# type 类型   QUIT 退出if shi_jian.type == pygame.QUIT:pygame.quit()  # 退出游戏sys.exit()  # 系统文件的退出# 判断是否按了键 KEYelif shi_jian.type == pygame.KEYDOWN:# 检测电脑是否按了a键,向左移动if fei_jie_lei_xing==1:if shi_jian.key == pygame.K_a :hero.move_left()elif shi_jian.key == pygame.K_d :hero.move_right()elif shi_jian.key == pygame.K_j:hero.fashe()if fei_jie_lei_xing ==2:if  shi_jian.key == pygame.K_LEFT:hero.left()elif shi_jian.key == pygame.K_RIGHT:hero.right()elif shi_jian.key == pygame.K_SPACE:hero.fashe()# 按键发射子弹,判断然后发射子弹# 1。初始化
def zhu():pygame.init()# 2。设置一个窗口chuangkou = pygame.display.set_mode((400, 700))# 3。设置一个标题pygame.display.set_caption("飞机大战")# 6. 导入图片 image图像   load 加载bei_jing = pygame.image.load("background.png")# 创建一个飞机对象feiji1 = feiji(chuangkou)diji1 =diji(chuangkou)# 5。循环while True:for shi_jian in pygame.event.get():# type 类型   QUIT 退出if shi_jian.type == pygame.QUIT:pygame.quit()  # 退出游戏sys.exit()  # 系统文件的退出# 判断是否按了键 KEYelif shi_jian.type == pygame.KEYDOWN:# 检测电脑是否按了a键,向左移动if shi_jian.key == pygame.K_a:feiji1.move_left()elif shi_jian.key == pygame.K_d:feiji1.move_right()elif shi_jian.key == pygame.K_j:feiji1.fashe()if shi_jian.key == pygame.K_LEFT:diji1.left()elif shi_jian.key == pygame.K_RIGHT:diji1.right()elif shi_jian.key == pygame.K_SPACE:diji1.fashe()# 按键发射子弹,判断然后发射子弹# 把背景放上去chuangkou.blit(bei_jing, (0, 0))# 把飞机和相关元素放上窗口去feiji1.show()diji1.show()# 控制飞机jj# key_kong(feiji1,1)# key_kong2(diji1 , 2)# 4.刷新pygame.display.update()# main主要的函数
if __name__ == '__main__':zhu()

boren -飞机大战6相关推荐

  1. java飞机大战爆炸效果_Java飞机大战游戏设计与实现

    1 概述 1.1 项目简介 本次Java课程设计是做一个飞机大战的游戏,应用Swing编程,完成一个界面简洁流畅.游戏方式简单,玩起来易于上手的桌面游戏.该飞机大战项目运用的主要技术即是Swing编程 ...

  2. 用Three.js写h5小游戏-3d飞机大战

    用Three.js写h5小游戏-飞机大战 博主的话 运行图片 目录路径![在这里插入图片描述](https://img-blog.csdnimg.cn/20190829103702978.jpg?x- ...

  3. 飞机大战html游戏全代码js、jquery操作

    飞机大战html游戏全代码 博主的话 运行图片 目录路径 飞机大战.html style.css 进行下一个游戏的开发! 注意事项 博主的话 当时博主只会html,css和原生JavaScript,假 ...

  4. Python实现飞机大战小游戏,详解每一行代码【不收藏都对不起我】

    一.模块 1. 利用 pip 安装 pygame 模块 Windows系统下的安装参考如下文章: https://blog.csdn.net/qq_38721302/article/details/8 ...

  5. Java多线程编写简易飞机大战(一)

    ** Java多线程编写简易飞机大战(一) ** 利用多线程编写飞机大战,主要有3个关键: ①继承Thread类,重写run方法: ②线程工作代码在run方法中写: ③启动时,调用线程对象的start ...

  6. android:怎样用一天时间,写出“飞机大战”这种游戏!(无框架-SurfaceView绘制)...

    序言 作为一个android开发人员,时常想开发一个小游戏娱乐一下大家,今天就说说,我是怎么样一天写出一个简单的"飞机大战"的. 体验地址:http://www.wandoujia ...

  7. 用Javascript模拟微信飞机大战游戏

    最近微信的飞机大战非常流行,下载量非常高. 利用JS进行模拟制作了一个简单的飞机大战[此源码有很多地方可以进行重构和优化] [此游戏中没有使用HTML5 任何浏览器都可以运行]. 效果图: 原理:利用 ...

  8. HTML5游戏开发(四):飞机大战之显示场景和元素

    <HTML5游戏开发>系列文章的目的有:一.以最小的成本去入门egret小项目开发,官方的教程一直都是面向中重型:二.egret可以非常轻量:三.egret相比PIXI.js和sprite ...

  9. 微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js)

    微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞 ...

  10. python飞机大战源代码-制作python程序windows安装包(飞机大战源码)

    本文以飞机大战源码为例: 1.首先使用pyinstaller -w xxx.py打包 -w的意思是不显示命令行:飞机大战源码由多个.py文件以及一些图片,音乐文件组成,我们将main.py打包, 其他 ...

最新文章

  1. json字符串的理解
  2. 鸿蒙2.0升级计划名单,鸿蒙OS 2.0适配 计划-升级名单
  3. Android:你不知道的 WebView 使用漏洞
  4. Android 如何快速定位当前页面是哪个Activity or Fragment
  5. [Swift]LeetCode859. 亲密字符串 | Buddy Strings
  6. 大数据 — Hadoop
  7. 矩形分割(洛谷P1324题题解,Java语言描述)
  8. c++incline函数
  9. HarmonyOS 2.0:正式开源,年底面向开发者发布智能手机 Beta 版本
  10. 掌握了AI这些点,面试官的天选之子就是你
  11. java 创建类带泛型_java-创建泛型类列表
  12. 【转载】对SVM的个人理解---浅显易懂
  13. ue4 如何获取端口号_UE4编辑器开发基础
  14. Iocomp for .net/wpf the Crack
  15. 别再装纯说不懂BT种子了
  16. php 裁剪png图片,解决thinkphp裁剪png图片背景不透明的方法
  17. Windows渗透与提权:技巧总结篇
  18. Linux 使用ffmpeg修改和压缩视频文件格式
  19. 新浪微博开发平台试用
  20. 任务卡_05-数据库_-MySql 高级任务

热门文章

  1. 2020年复旦电子信息专硕复试经验分享
  2. python代码使用dns进行调试_python脚本实现分析dns日志并对受访域名排行
  3. 服务器远程协助能够禁用吗,如何使用组策略禁用/启用远程连接管理远程协助...
  4. 基金指数温度怎么算_基金指数温度靠谱吗【指数温度查询技巧】
  5. HTML5新增---新知
  6. 如何把桌面计算机和回收站隐藏,对!回收站图标没了,教你怎么隐藏回收站保护个人隐私...
  7. Vue 记录一次安装插件引起的项目崩溃(This is probably not a problem with npm,there is likely additional logging outp)
  8. W(hadoop).Permission denied: user=dr.who, access=WRITE, inode=“/output“:root:supergroup:drwxr-xr-x
  9. 《微信公众平台入门到精通》Vol.1
  10. 大话西游,唐僧与悟空合伙创业,股权几何?