资源简介
学习Python版的飞机大战的,里面含有飞机大战的全部素材及飞机大战源码
![](http://www.nz998.com/pic/53278.jpg)
代码片段和文件信息
from 飞机大战.plane_sprites import *
class PlaneGame(object):
“““飞机大战主游戏类“““
def __init__(self):
“““游戏初始化“““
# 1.创建游戏游戏窗口
self.screen = pygame.display.set_mode(SCREEN_RECT.size)
# 2.创建游戏时钟
self.clock = pygame.time.Clock()
# 3,调用私有方法,精灵和精灵组创建
self.__create_sprites()
# 4.设置定时器事件 -创建敌机 1s
pygame.time.set_timer(CREATE_ENEMY_EVENT 1000)
# 5.设置定时器事件 -创建子弹 0.5s
pygame.time.set_timer(CREATE_BULLET_EVENT 500)
def start_game(self):
“““启动游戏“““
while True:
# 1.设置刷新帧率
self.clock.tick(frame_PER_SEC)
# 2.事件检测
self.__event_handler()
# 3.碰撞检测
self.__check_collode()
# 4.更新/绘制精灵组
self.__update_sprites()
# 5.更新显示
pygame.display.update()
def __create_sprites(self):
“““精灵和精灵组创建“““
# 创建背景精灵和精灵组
bg1 = Background()
bg2 = Background(True)
self.back_group = pygame.sprite.Group(bg1 bg2)
# 创建敌机的精灵组,因为精灵在定时器中会定时创建
self.enemy_group = pygame.sprite.Group()
# 创建英雄精灵和精灵组
self.hero = Hero()
self.hero_group = pygame.sprite.Group(self.hero)
def __event_handler(self):
“““事件检测“““
# 获得所有事件
event_list = pygame.event.get()
# 遍历事件
for event in event_list:
# 1.判断是否是退出游戏
if event.type == pygame.QUIT:
self.__game_over()
# 2.判断是否是创建敌机的定时器
if event.type == CREATE_ENEMY_EVENT:
# 1.创建敌机精灵
enemy = Enemy()
# 2.将敌机精灵添加到敌机精灵组
self.enemy_group.add(enemy)
# 3.判断用户按下的键是向左还是向右
“““
# 方法一:按一次触发一次
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
# 向左移动
print(“向左移动“)
if event.key == pygame.K_RIGHT:
# 向右移动
print(“向右移动“)
“““
# 方法二:按下会一直触发事件
# 获取键盘按键元组
keys_pressed = pygame.key.get_pressed()
# 判断元组中对应的按键索引值是否是1
if keys_pressed[pygame.K_RIGHT]:
# 向右移动
self.hero.speed = 4
elif keys_pressed[pygame.K_LEFT]:
# 向左移动
self.hero.speed = -4
else:
# 不移动
self.hero.speed = 0
# 4.判断是否英雄发射子弹的定时器
if event.type == CREATE_BULLET_EVENT:
# 英雄发射子弹
self.hero.fire()
def __check_collode(self):
“““碰撞检测“““
# 调用碰撞检测方法
# 检测敌机和子弹的碰撞,碰撞后都消失
collide = pygame.sprite.groupcollide(self.hero.bullets self.enemy_group True True)
# print(collide)
# 检测敌机和英雄的碰撞,碰撞后英雄死亡
enemies = pygame.sprite.spritecollide(self.hero self.enemy_group True)
# 如果发生碰撞,英雄牺牲退出游戏
if
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-09-22 19:20 Python版的飞机大战\
目录 0 2018-09-22 19:19 Python版的飞机大战\images\
文件 7444 2018-09-07 14:39 Python版的飞机大战\images\New Atlas.png
文件 31443 2018-09-20 11:47 Python版的飞机大战\images\background.png
文件 427573 2018-09-07 14:39 Python版的飞机大战\images\bg.png
文件 2658 2018-09-07 14:39 Python版的飞机大战\images\bomb-1.gif
文件 2067 2018-09-07 14:39 Python版的飞机大战\images\bomb-2.gif
文件 5600 2018-09-07 14:39 Python版的飞机大战\images\bomb.png
文件 8948 2018-09-07 14:39 Python版的飞机大战\images\btn_finish.png
文件 122 2018-09-07 14:39 Python版的飞机大战\images\bullet-1.gif
文件 151 2018-09-07 14:39 Python版的飞机大战\images\bullet-2.gif
文件 401 2018-09-07 14:39 Python版的飞机大战\images\bullet-3.gif
文件 23131 2018-09-07 14:39 Python版的飞机大战\images\bullet.png
文件 490 2018-09-07 14:39 Python版的飞机大战\images\bullet1.png
文件 498 2018-09-07 14:39 Python版的飞机大战\images\bullet2.png
文件 29625 2018-09-07 14:39 Python版的飞机大战\images\button_nor.png
文件 28998 2018-09-07 14:39 Python版的飞机大战\images\button_p.png
文件 1678 2018-09-07 14:39 Python版的飞机大战\images\enemy-1.gif
文件 2829 2018-09-07 14:39 Python版的飞机大战\images\enemy-2.gif
文件 13927 2018-09-07 14:39 Python版的飞机大战\images\enemy-3.gif
文件 2970 2018-09-07 14:39 Python版的飞机大战\images\enemy0.png
文件 3423 2018-09-07 14:39 Python版的飞机大战\images\enemy0_down1.png
文件 3863 2018-09-07 14:39 Python版的飞机大战\images\enemy0_down2.png
文件 5305 2018-09-07 14:39 Python版的飞机大战\images\enemy0_down3.png
文件 1730 2018-09-07 14:39 Python版的飞机大战\images\enemy0_down4.png
文件 8117 2018-09-07 14:39 Python版的飞机大战\images\enemy1.png
文件 10477 2018-09-07 14:39 Python版的飞机大战\images\enemy1_down1.png
文件 11696 2018-09-07 14:39 Python版的飞机大战\images\enemy1_down2.png
文件 13388 2018-09-07 14:39 Python版的飞机大战\images\enemy1_down3.png
文件 3429 2018-09-07 14:39 Python版的飞机大战\images\enemy1_down4.png
文件 9183 2018-09-07 14:39 Python版的飞机大战\images\enemy1_hit.png
............此处省略43个文件信息
相关资源
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
- 量化交易(附python常见函数的使用方
- python 名字用字排行
评论
共有 条评论