资源简介
用python写的一个飞机大战的项目,功能比较简单,就是课上讲的内容,主要是使用机灵组控制敌机和英雄飞机
代码片段和文件信息
import pygame
from plan_sprites import *
class PlaneGame(object):
def __init__(self):
print(“游戏初始化“)
# 创建游戏窗口
self.screen = pygame.display.set_mode(SCREEN_RECT.size)
# 创建游戏时钟
self.clock = pygame.time.Clock()
# 调用私有方法,创建精灵和精灵组
self.__create_sprites()
# 设置定时器事件,每隔一秒创建一个敌机
pygame.time.set_timer(CREATE_ENEMY_EVENT 1000)
# 每隔0.5秒,英雄发射一次子弹
pygame.time.set_timer(HERO_FIRE_EVENT 500)
def __create_sprites(self):
# 背景精灵组
bg1 = Background(False)
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 start_game(self):
print(“游戏开始“)
while True:
# 1.设置刷新帧率
self.clock.tick(frame_PER_SEC)
# 2.事件监听
self.__event_handler()
# 3.碰撞检测
self.__check_collide()
# 4.更新、绘制精灵组
self.__update_sprites()
# 5.更新显示
pygame.display.update()
def __event_handler(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
PlaneGame.__game_over()
elif event.type == pygame.USEREVENT:
# print(“敌机出场“)
# 创建敌机精灵
enemy = Enemy()
# 将敌机精灵添加到精灵组
self.enemy_group.add(enemy)
# elif event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT:
# print(“向右移动“)
elif event.type == HERO_FIRE_EVENT:
self.hero.fire()
# 使用键盘提供的方法获取键盘按键-按键元组
keys_pressed = pygame.key.get_pressed()
# 判断元组中对应的按键索引值 是否为1
if keys_pressed[pygame.K_RIGHT]:
self.hero.speed = 2
elif keys_pressed[pygame.K_LEFT]:
self.hero.speed = -2
elif keys_pressed[pygame.K_UP]:
self.hero.speed_y = -2
elif keys_pressed[pygame.K_DOWN]:
self.hero.speed_y = 2
else:
self.hero.speed = 0
self.hero.speed_y = 0
def __check_collide(self):
# 1.子弹和敌机相撞
pygame.sprite.groupcollide(self.hero.bullets self.enemy_group True True)
# 2.1.敌机和英雄相撞(相撞后会生成一个列表,列表里是被撞的敌机)
enemies = pygame.sprite.spritecollide(self.hero self.enemy_group True)
# 2.2.判断列表是否有内容
if len(enemies) > 0:
self.hero.kill()
PlaneGame.__game_over()
def __update_sprites(self):
self.back_group.update()
self.back_group.draw(self.screen)
self.enemy_group.update()
self.enemy_group.draw(self.screen)
self.hero_group.update()
self.hero_group.draw(self.screen)
self.hero.bullets.update()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-01 09:44 飞机大战\
目录 0 2019-02-28 21:12 飞机大战\.idea\
目录 0 2019-02-26 10:16 飞机大战\.idea\inspectionProfiles\
文件 294 2019-02-26 10:14 飞机大战\.idea\misc.xm
文件 283 2019-02-26 10:14 飞机大战\.idea\modules.xm
文件 25974 2019-02-28 21:12 飞机大战\.idea\workspace.xm
文件 408 2019-02-26 10:15 飞机大战\.idea\飞机大战.iml
目录 0 2019-02-26 10:18 飞机大战\Images\
文件 37751 2019-02-28 16:08 飞机大战\Images\background.png
文件 3004 2014-07-15 20:32 飞机大战\Images\bullet1.png
文件 2990 2014-07-17 20:54 飞机大战\Images\bullet2.png
文件 5499 2013-08-31 09:41 飞机大战\Images\enemy1.png
文件 5797 2013-08-31 09:35 飞机大战\Images\enemy1_down1.png
文件 6181 2013-08-31 09:36 飞机大战\Images\enemy1_down2.png
文件 7361 2013-08-31 09:37 飞机大战\Images\enemy1_down3.png
文件 4199 2013-08-31 09:39 飞机大战\Images\enemy1_down4.png
文件 6567 2014-07-17 15:40 飞机大战\Images\game_again.png
文件 6222 2014-07-17 15:41 飞机大战\Images\game_continue.png
文件 6950 2014-07-17 15:43 飞机大战\Images\game_over.png
文件 5316 2013-08-31 09:40 飞机大战\Images\game_pause_nor.png
文件 5254 2013-08-31 09:41 飞机大战\Images\game_pause_pressed.png
文件 4635 2013-09-02 18:36 飞机大战\Images\game_resume_nor.png
文件 4734 2013-09-02 18:35 飞机大战\Images\game_resume_pressed.png
文件 15017 2013-08-31 09:22 飞机大战\Images\hero1.png
文件 14817 2013-08-31 09:23 飞机大战\Images\hero2.png
文件 17481 2013-08-31 09:24 飞机大战\Images\hero_blowup_n1.png
文件 18493 2013-08-31 09:24 飞机大战\Images\hero_blowup_n2.png
文件 19725 2013-08-31 09:25 飞机大战\Images\hero_blowup_n3.png
文件 5628 2013-08-31 09:26 飞机大战\Images\hero_blowup_n4.png
文件 3723 2019-02-28 21:10 飞机大战\plane_main.py
文件 3559 2019-02-28 20:59 飞机大战\plan_sprites.py
............此处省略2个文件信息
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论