当前位置:网站首页>pygame实现飞机大战游戏
pygame实现飞机大战游戏
2022-07-23 05:37:00 【weixin_45986454】
标题:pygame实现飞机大战游戏
源码链接:添加链接描述
一、具体演示
1.怪兽分为小怪,和大怪;大怪可以发射子弹
2.英雄飞机共有10个生命值
3.英雄飞机可以上下左右移动
4.显示了英雄生命值,消灭怪兽数量,
5.提供了供应包,可以改变英雄飞机发射的子弹


二、项目概述
hm_01_pygame_base05.py
hm_01_pygame_base06.py,飞机大战【非面向对象的飞机大战,作为一个熟悉,热身】
message.py ,message2.py,是在pygame屏幕上输出一句话【作为一个熟悉,热身】
plane_main2.py,plane_sprites.py,是【正式】的飞机大战项目
使用python实现飞机大战游戏,适合python基础入门,同时在一般的飞机大战基础上,新增了很多功能
三、项目具体细节
1.背景,飞机 【完成】
2.敌机,多个 —定时器+事件监听,销毁【完成】
3.飞机子弹 【完成】
【具体实现操作】
【分析:】飞机,敌机等等,都是最后画出来的,所以重点是什么时机添加进去,
子弹- -每隔0.5s监听到事件,添加子弹到精灵组中==》画出子弹了,
【操作】在init中创建精灵组,监听中,添加进去。
每隔 Xs,根据飞机的位置,发射一次,
但是,没有绑定飞机:
eg:多个大怪出现的时候,每个大怪就需要有不同的精灵组
solution:在hero类中,创建子弹精灵组,main中画出来,fire负责将子弹加入精灵组中
4.飞机移动 – 设置边界【完成】
5.飞机喷火 【完成】
6.碰撞效果
子弹–敌机 【完成】
hero–敌机
6.1子弹–敌机:
敌机爆炸:把爆炸精灵组画出来,监听到爆炸,就将爆炸类加入精灵组中
6.2hero–敌机 :
所以应该是,先清屏,然后打印“游戏结束“,再等待按键—调用此方法
self.__game_over()
【solution】 设置一个游戏结束的标志,以便实现按键结束
敌机,子弹,都是事件监听中【每隔Xs】出现的,所以,设置此标志后,就不会出现了
self.gameover_flag = False
7.怎么在屏幕上打印一句话 查找字体 C:\WINDOWS\Fonts\ARIALN.TTF
==实现生命值,消灭怪兽数量
8.大怪2 3
大怪–发子弹,
【注意相对速度:大怪,子弹、背景都在运动】
要是速度没有选好—可能出现后退的情形
可以设置每颗子弹出现的时间
9.大怪爆炸
英雄,碰子弹—true,子弹消失;
英雄+效果
10炸弹供应
原来子弹,供应子弹—都是event中监听
设置一个flag,判断是原来的,还是供应的,【supply碰撞了,就设置为供应的】
在游戏循环中—时间,使用变量,估计供应结束的时间,
若结束,恢复标志
11.大怪3 【待续】
边栏推荐
猜你喜欢

Briefly describe the features and application scenarios of redis

Visual studio 2022 interesting and powerful intelligent auxiliary coding

图片模糊处理批量生产模糊数据集

Two strategies for building AI products / businesses (by Andrew ng)

C1 -- vivado configuration vs code text editor environment 2022-07-21

Mysql的索引为什么用的是B+树?

PMP practice once a day | don't get lost in the exam -7.22

Huawei executives talk about the 35 year old crisis. How can programmers overcome the worry of age?

Data Lake: introduction to delta Lake

Three implementation methods of C # client program calling external program
随机推荐
Redis源码与设计剖析 -- 13.有序集合对象
Activiti工作流使用之新建bpmn文件
9、光线追踪
Redis源码与设计剖析 -- 12.集合对象
Redis源码与设计剖析 -- 8.对象系统
An analysis of the CPU explosion of an intelligent transportation background service in.Net
Activiti工作流使用之项目实例
FFmpeg 音频编码
Xssgame games (XSS learning) level1-15
Fundamentals of software testing - design method of test cases
Two strategies for building AI products / businesses (by Andrew ng)
【信息系统项目管理师】第六章 复盘进度管理知识架构
C1 -- vivado configuration vs code text editor environment 2022-07-21
Redis源码与设计剖析 -- 5.整数集合
Error reporting when installing opencv in Anaconda virtual environment
Murata power maintenance switch server power maintenance and main functional features
QT style syntax definition access, can check the data, can be automatically generated
EntityManagerFactory和EntityManager的一个用法探究
7、纹理映射
Error in na.fail.default(list(Purchase = c(“CH“, “CH“, “CH“, “MM“, “CH“, : missing values in obj