python制作飞机大战代码_python实现飞机大战完整代码,可运行

2023-11-15

我发现很多python代码飞机大战在互联网上,但几乎没有一个是完整的。所以我做了一个完整的人。python代码分为两个文件,工具类和主类。python版本,pygame模块需要安装。完整的代码如下。1. 工具类plane_import randomimport pygame #屏幕大小恒定SCREEN_RECT =(0, 0, 480, 700) #刷新帧速率FRAME_PER_SEC = 60 #计时器不断创建敌机CREATE_ENEMY_EVENT = #英雄发射子弹事件HERO_FIRE_EVENT = + 1类GameSprite():\u201C\u201C飞机战争游戏向导\u201D\u201Cdef __init__(自我、image_name速度= 1):#调用父类的初始化方法超级().

调用父类方法实现的创建向导(图片\/矩形\/速度)超级(). __init__ (\确定它是另一种形象,如果是,您需要设置初始位置如果is_alt: = def更新(自我):# 1。调用父类的方法来实现超级().update () # 2。决定是否离开屏幕,如果它移动的屏幕,将图片设置为屏幕的顶端=阶级敌人(GameSprite):\u201C\u201C雪碧敌人\u201D\u201Cdef __init__(自我):# 1。调用父类方法创建敌机雪碧,并指定敌人飞机照片超级(). __init__ (\指定的初始随机速度敌机1 ~ 3 = (1、3)# 3。指定的初始随机位置敌机= 0 max_x = SCREEN_ - = (0, max_x) def更新(自我):# 1。

update () # 2。决定是否飞出屏幕的,如果是,您需要删除的敌机向导组#打印(\u201C飞出屏幕,你需要删除从向导组\u2026\u201D)#杀死的方法可以从所有向导组删除向导,向导将被自动销毁()def __del__(自我):#打印(\u201C敌人飞机挂% s\u201C%) passclass英雄(GameSprite):\u201C\u201C英雄精神\u201D\u201Cdef __init__(自我):# 1。调用父类方法和设置image&speedsuper ()。__init__ (\设置初始位置的英雄= SCREEN_ = SCREEN_ - 120 # 3。创建一个精灵组子弹= ()def更新(自我):#英雄在水平方向上移动+ = #控制英雄不能离开屏幕如果< 0:= 0 = SCREEN_def火(自我):打印(\u201C火弹\u2026\u201D),因为我在(0,1,2):# 1。

设置的位置雪碧= - * 20 = # 3。雪碧添加到雪碧集团(子弹)类子弹(GameSprite):\u201D\u201C\u201D\u201C\u201C子弹雪碧def __init__(自我):#调用父类方法,设置子弹图片,设置初始速度超级()。__init__ (\主类plane_import pygame从plane_sprites导入*类PlaneGame(对象):\u201C\u201C飞机游戏主要游戏\u201D\u201Cdef __init__(自我):打印(\u201C游戏初始化\u201D)# 1。创建游戏的窗口= _mode (SCREEN_) # 2。创建游戏的时钟= ()# 3。

__create_sprites () # 4。设置定时器events-create敌机1 s_timer (CREATE_ENEMY_EVENT, 1000) _timer (HERO_FIRE_EVENT, 500) def __create_sprites(自我):#创建背景精灵和精灵组bg1 =背景()bg2 =背景(真正的)_group = (bg1 bg2) #创建雪碧群敌人aircraft_group = ()#创建英雄精灵和精灵组=英雄()_group = () def start_game(自我):打印(\u201C游戏开始\u2026\u201D),而事实:# 1。设置刷新帧率(FRAME_PER_SEC) # 2。

__event_handler () # 3。碰撞检测self.__check_collide () # 4。更新\/画雪碧集团self.__update_sprites () # 5。更新显示()def __event_handler(自我):对事件():#决定是否退出游戏,如果= =:PlaneGame.__game_over () elif = = CREATE_ENEMY_EVENT: #打印(\u201C敌人机器外观\u2026\u201D)#创建敌人飞机雪碧敌人敌人=()#添加敌人飞机雪碧敌人飞机雪碧group_(敌人)elif = = HERO_FIRE_EVENT: () # elif = =和= = _RIGHT: #打印(\u201C向右移动\u2026\u201D)#使用键盘提供的方法获取键盘keys-key tuple keys_pressed = _pressed() #确定相应的键索引值的元组1如果keys_pressed [_RIGHT]: = 2 elif keys_pressed [_LEFT]: = 2: = 0 def __check_collide(自我):# 1。

敌人飞机失事英雄敌人= (_group, True) #有内容当判断列表#让英雄牺牲()#结束游戏PlaneGame.__game_over () def __update_sprites(自我):_ ()_ ()_ ()_ ()_ ()_ ()()()@staticmethoddef __game_over():打印(\u201C游戏结束\u201D)()()退出if __name__ = =\u201C__main__\u201D: #创建游戏对象的游戏= PlaneGame() #开始游戏_game () 3。图片如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python制作飞机大战代码_python实现飞机大战完整代码,可运行 的相关文章

  • k8s 启动探针生存探针&就绪探针

    目录 k8s 启动探针 存活探针 就绪探针 存活 就绪探针的区别 探针处理程序和结果 启动探针 存活探针 livenessProbe exec livenessProbe httpget livenessProbe tcp 就绪探针 k8s
  • 【总结】NPU/CPU/GPU 傻傻分不清?

    本文主要解答以下问题 NPU是新玩意儿吗 芯片里面的CPU GPU NPU究竟是什么 它们是怎么工作的 引言 中国首款嵌入式NPU诞生 6月20日 中星微 数字多媒体芯片技术 国家重点实验室在京宣布 中国首款嵌入式NPU 神经网络处理器 芯
  • AWTRIX像素屏时钟搭建

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 AWTRIX像素屏时钟搭建 前言 一 AWTRIX是什么 二 AWTRIX像素屏时钟搭建步骤 1 材料准备 2 ESP8266固件刷写 3 接线方式 4 手机端配网 4 服务
  • 2022中山大学计算机技术专硕考研初试、复试经验帖

    2022年中山大学计算机技术专硕考研初试 复试经验帖 个人简介 推荐几个我自己感觉对考研非常有帮助的小助手吧 可以帮助节省时间 考研时间规划总览 初试篇 数学 英语 政治 408 复试篇 如果觉得有帮助的话可以点个收藏后续会修改和增加内容
  • shell判断程序是否运行,守护进程

    一 需求 服务部署在linux上 要求服务器上的服务可以一直保持正常运行 二 问题 在linux上部署的微服务 不知道什么原因过一段时间就自己停掉了 无法启动 三 解决办法 添加angle守护进程 通过定时执行脚本来判断程序是否运行 若不是
  • 微信小程序获取微信步数

    获取步数授权 获取用户微信运动步数的前提是用户授权小程序访问他的微信运动数据 微信对用户隐私有严格的控制 任何涉及用户隐私的敏感数据都需要用户同意后小程序才能获取 只有当用户点击 允许 后 小程序才能获取用户的微信运动数据 小程序的用户授权
  • Vue组件通信方式详解(全面版)

    在Vue应用开发中 组件通信是一个重要的话题 不同的组件可能需要在不同的情况下进行数据传递和交互 Vue提供了多种方式来实现组件通信 每种方式都有其适用的场景 本文将详细介绍Vue中实现组件通信的各种方式 并为每种方式提供通俗易懂的代码示例
  • Java并发编程实战——并发容器之ConcurrentHashMap(JDK 1.8版本)

    文章目录 ConcurrentHashmap简介 从关键属性及类上来看ConcurrentHashMap的结构 put 方法管中窥豹 CAS关键操作 ConcurrentHashmap简介 在使用HashMap时在多线程情况下扩容会出现CP
  • Python3,10行代码竟然让URL变短了,没想到还可以这么玩。

    让URL变短的方法 1 引言 2 代码实战 2 1 定义 2 2 常用函数 2 3 示例 3 总结 1 引言 小屌丝 鱼哥 有没有什么方法 能让url变短一点 小鱼 我去 url怎么惹你了 你让它变短 小屌丝 没有了 我就是觉得url太长了
  • 西门子fifo_西门子官方开发的LGF库全中文解读,重磅推荐

    Hello 欢迎大家来到 西家大书 这里可能是西门子最内部的知识分享平台 众所周知 TIA Portal STEP 7 具有一个功能强大的LGF全局库 它可以计算随机数 最大值 最小值 平均值 实现搜索功能 计算日出日落时间等等 但关于LG
  • @符号的用法

    代码中 符号有时候会在有些代码中遇到 其具体有什么作用呢 主要用法 限定作用 用来限定字符串 具体而言实际上就是表示字符串中的 字符不再认为是转义标志 而就是 符号本身 常见的用法是如果我们写一个文件所处的路径 比如 D 文本文件 路径下的
  • iframe如何发送请求_如何优雅地处理前端异常?

    前端一直是距离用户最近的一层 随着产品的日益完善 我们会更加注重用户体验 而前端异常却如鲠在喉 甚是烦人 一 为什么要处理异常 异常是不可控的 会影响最终的呈现结果 但是我们有充分的理由去做这样的事情 增强用户体验 远程定位问题 未雨绸缪
  • Java 程序员学习中各阶段的建议

    对于Java程序猿学习的建议 这一部分其实也算是今天的重点 这一部分用来回答很多群里的朋友所问过的问题 那就是LZ你是如何学习Java的 能不能给点建议 今天LZ是打算来点干货 因此咱们就不说一些学习方法和技巧了 直接来谈每个阶段要学习的内
  • Java中的流

    文件管理 Java语言使用File类对文件和目录进行操作 查找文件时需要实现FilenameFilter或FileFilter接口 另外 读写文件内容可以通过FileInputStream FileOutputStream FileRead
  • c提高学习——(字符串强化_查找字串)实现strstr

    先简单的看一下strstr的用法 include
  • Hacking The Box----Awkward

    信息收集 nmap扫描 发现22号端口和80号端口打开 80号端口上运行着http服务器 访问ip后URL变为hat valley htb 修改 etc hosts文件 添加10 10 11 185 hat valley htb 然后就能正
  • parseInt和Math.floor的区别

    引入 在大多数情况下 他们都可以用来取一个小数的整数部分 但是在某些特殊场景下 就只能使用math floor 比如我们想取一个区间范围内的值 如果使用 就可以取到 但如果使用 就只能取到 这是为什么呢 首先我们还是从他们的原理开始看 co
  • docker容器添加ssh服务

    本篇文章主要介绍如何为一个容器添加ssh服务 使得可以从另一台服务器直接ssh到一个容器内部 达到直接访问容器内部环境的目的 避免需从宿主机docker exec或attach进入容器 实验环境 两台服务器地址 192 168 91 131
  • 外卖项目 - Day01

    外卖 Day01 外卖项目介绍 开发环境搭建 后台登录功能开发 后台退出功能开发 1 项目介绍 在开发外卖这个项目之前 我们需要全方位的来介绍一下当前我们学习的这个项目 接下来 我们将从以下的五个方面 来介绍 外卖这个项目 1 1 项目介绍

随机推荐

  • linux ui 代码,Android自定义UI模板图文详解【附源代码】

    不知道大家在实际开发中有没有自定义过UI模板 今天花时间研究了一下Android中自定义UI模板 与大家分享一下 每个设计良好的App都是自定义标题栏 在自定义标题栏的过程中大部分人可能都是自定义一个标题的xml文件 然后在需要的地方直接通
  • c++ svd实例整理

    矩阵简单封装 下面两个是一样的 http download csdn net download o07sai 2206411 https github com jiaohaitao svd double数组 http download cs
  • Java引用传递问题

    if planSuccessServices contains value service put choose yes successServices add service if planFailServices contains va
  • 在Windows上实现link

    众所周知 在Linux上 link命令很好很强大 可以很方便的为我们创建链接 但是在Windows上却没有对应的功能 之多只能建一个快捷方式 但是远远达不到link的功能 如何才能使Windows上也具备类似Linux上link的功能呢 最
  • 【Spring Boot 源码学习】自动装配流程源码解析(上)

    Spring Boot 源码学习系列 自动装配流程源码解析 上 引言 往期内容 主要内容 1 自动配置开关 2 加载自动配置组件 3 自动配置组件去重 总结 引言 上篇博文 笔者带大家从整体上了解了AutoConfigurationImpo
  • el search模糊查询

    import json from elasticsearch import Elasticsearch es Elasticsearch 192 168 55 90 9200 source arr uri camera deviceId p
  • 如何用多种方式安装jupyter notebook

    目录 注意 安装python的方式 在官网下载python3 安装后需要确保安装Python成功 安装jupyter notebook的三种方式 1 使用终端安装jupyter notebook 2 使用Pycharm控制台安装jupyte
  • javafx+mysql实现学生信息管理系统(连接数据库实现增删改查功能)利用了SceneBuilder

    功能简单介绍 因为是重新学的 花了一天写出来的 界面比较简陋 暂时还没有完善 但是功能都可以正常实现 数据库建表 可以参考格式 可以根据需要对应修改tableview中的column 这个对表没有太多要求 可以自行修改 首先是登陆页面 账号
  • 如何用Python将普通视频变成动漫视频

    文章目录 容我废话一下 一 思路流程 二 图像转动漫 三 视频帧读取与视频帧写入 容我废话一下 最近几个月 毒教材被曝光引发争议 那些编写度教材的人着实可恶 咱程序员也没有手绘插画能力 但咱可以借助强大的深度学习模型将视频转动漫 所以今天的
  • CentOS入门

    1 CentOS 是RHEL的克隆版本 但其更新 如升级 漏洞修复等 要比RHEL慢一点 因其稳定 长期的升级支持 保守性以及大规模使用性能稳定等因素被企业普遍使用 RHEL发行方式有两种 一是发行二进制 二是发行源码 而CentOS就是将
  • Android Studio一课一得

    一 概述 Android Studio是由Google开发的官方集成开发环境 IDE 主要用于Android平台上应用程序 App 及游戏的开发 Android Studio提供了丰富的工具和功能 包括代码编辑器 可视化布局编辑器 调试器和
  • 无限重置IDEA试用期的小脚本

    1 Reset the trial period of IDEA vbs Set wsshell CreateObject WScript Shell Set filesys CreateObject Scripting FileSyste
  • 层次分析法小结

    层次分析法的步骤 建立层次结构模型 构造成对比较矩阵 层次单排序及其一次性检验 层次多排序及其一次性检验 1 建立层次结构模型 层次结构模型一般分为三个部分 目标层 也就是我们最终需要寻找出来的最佳结果 通常为一个 准测层 结果优劣的判断因
  • Spark读取外部数据的几种方式

    一 spark读取csv文件 四种方式 方式一 直接使用csv方法 val sales4 DataFrame spark read option header true option header false csv file D Soft
  • lu分解法解线性方程组 python_一篇文章入门大规模线性方程组求解

    前面介绍过主要的线性方程组求解库 参考附录 求解大规模线性方程组是仿真软件求解器的底层技术 求解器时间基本都消耗在方程组求解上 线性方程组的解法比较成熟 方法也有很多 而且不同的方法对应不同类型方程组 所以在方法选择上实际很讲究 商业软件通
  • linux内核的 等待队列 使用方法,wait_queue_head_t,进程休眠

    当你在用户空间需要读写一大片数据的时候 这个就用上了 以下来自 http www yuanma org data 2006 1207 article 1916 htm 假设我们在 kernel 里产生一个 buffer user 可以经由
  • Linux常用操作指令

    Linux操作系统 linux基础指令 命令 解释 命令 解释 ps ef aux 查看进程 history 查看历史命令 whatis 一句解释 2 把编号为2的历史命令再来一次 man 查看解释 uname hostnam clear
  • H2数据库使用

    H2最完整的资料下载地址 http download csdn net detail yixiaoping 5956595 H2数据库使用 H2数据库介绍 常用的开源数据库 H2 Derby HSQLDB MySQL PostgreSQL
  • MySQL 通用查询日志与慢查询日志

    MySQL中的日志包括 错误日志 二进制日志 通用查询日志 慢查询日志等等 这里主要介绍下比较常用的两个功能 通用查询日志和慢查询日志 1 通用查询日志 记录建立的客户端连接和执行的语句 2 慢查询日志 记录所有执行时间超过long que
  • python制作飞机大战代码_python实现飞机大战完整代码,可运行

    我发现很多python代码飞机大战在互联网上 但几乎没有一个是完整的 所以我做了一个完整的人 python代码分为两个文件 工具类和主类 python版本 pygame模块需要安装 完整的代码如下 1 工具类plane import ran