资源简介
(1)、外星人游戏添加飞船上下移动功能;
(2)、尝试为游戏添加爆炸音效和射击音效;
(3)、在玩家得分、最高得分、玩家等级前添加"Score"、"High Score"、"Level"三个标签
(4)、添加游戏暂停功能,如按某个按键,实现游戏暂停;
(5)、最高得分永久性存储,在关闭后,再打开游戏时,仍然可以正常读取和显示;
(6)、仅当游戏结束时,才进行游戏最高得分的比较和更新;
(7).添加了一个用于开始游戏的play按钮,在玩家三次未击中目标时结束游戏,并重新显示Play按钮,让玩家能够通过单击该按钮重新开始游戏;
(8)、在外星人队列中固定关卡插入高级外星人(图像与普通外星人不同,但points更高,速度更快),并且boos显示血条。
代码片段和文件信息
import pygame
from pygame.sprite import Sprite
class Alien(Sprite):
“““表示单个外星人的类“““
def __init__(self ai_settings screen):
“““初始化外星人并设置其起始位置“““
super(Alien self).__init__()
self.screen = screen
self.ai_settings = ai_settings
# 加载外星人图像,并设置其rect属性
self.image = pygame.image.load(‘images/alien.bmp‘)
self.rect = self.image.get_rect()
# 每个外星人最初都在屏幕左上角附近
self.rect.x = self.rect.width
self.rect.y = self.rect.height
# 存储外星人的准确位置
self.x = float(self.rect.x)
def blitme(self):
“““在指定位置绘制外星人“““
self.screen.blit(self.image self.rect)
def check_edges(self):
“““如果外星人位于屏幕边缘,就返回True“““
screen_rect = self.screen.get_rect()
if self.rect.right >= screen_rect.right:
return True
elif self.rect.left <= 0:
return True
def update(self):
“““向左或向右移动外星人“““
self.x += (self.ai_settings.alien_speed_factor *
self.ai_settings.fleet_direction)
self.rect.x = self.x
class BossAlien(Sprite):
“““BOSS外星人“““
def __init__(self ai_settings screen health=500):
“““初始化外星人并设置其起始位置“““
self.screen = screen
self.ai_settings = ai_settings
self.health = health
# 加载外星人图像,并设置其rect属性
self.image = pygame.image.load(‘images/enemy2.png‘)
self.rect = self.image.get_rect()
self.screen_rect=screen.get_rect()
self.rect.x = 550
self.rect.y = 100
# 存储外星人的准确位置
self.x = float(self.rect.x)
# #设置生命值
# health=100
def blitme(self):
“““在指定位置绘制外星人“““
self.screen.blit(self.image (self.rect.xself.rect.y))
def draw_health_bar(self screen):
“““显示血条“““
#参数依次表示:在SCREEN上面绘制,颜色,(该图案左上角的坐标,长度和高度)
#灰色的空白血条
pygame.draw.rect(screen (0 230 0) ((380 100) (500 10)) )
#红色的现有血量
pygame.draw.rect(screen (255 0 0) ((380 100) (self.health 10)) )
def check_edges(self):
“““如果外星人位于屏幕边缘,就返回True“““
screen_rect = self.screen.get_rect()
if self.rect.right >= screen_rect.right:
return True
elif self.rect.left <= 0:
return True
def update(self):
“““向左或向右移动外星人“““
self.x += (self.ai_settings.alien_speed_factor *
self.ai_settings.bossalien_direction)
self.rect.x = self.x
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11384 2019-06-04 23:45 game_functions.py
文件 1703 2019-05-21 19:59 button.py
文件 2466 2019-05-21 19:59 bullet.py
文件 1828 2019-06-04 23:23 alien_invasion.py
文件 2569 2019-05-21 20:02 alien.py
文件 40044 2019-05-21 21:20 sounds\clickbuttons.wav
文件 20044 2019-05-21 21:14 sounds\firebullets.wav
文件 20044 2019-05-21 21:14 sounds\gameover.wav
文件 20044 2019-05-21 21:14 sounds\levelup.wav
文件 20044 2019-05-21 21:14 sounds\loselifes.wav
文件 2254189 2019-05-21 19:42 music\brave.mp3
文件 10494 2016-06-15 02:16 images\alien.bmp
文件 36620 2017-12-02 23:30 images\background.png
文件 5570 2017-12-02 23:30 images\bomb.png
文件 8944 2017-12-02 23:30 images\btn_finish.png
文件 486 2017-12-02 23:30 images\bullet1.png
文件 485 2017-12-02 23:30 images\bullet2.png
文件 10494 2017-12-21 02:58 images\cliens.bmp
文件 2968 2017-12-02 23:30 images\enemy1.png
文件 3365 2017-12-02 23:30 images\enemy1_down1.png
文件 3815 2017-12-02 23:30 images\enemy1_down2.png
文件 5239 2017-12-02 23:30 images\enemy1_down3.png
文件 1723 2017-12-02 23:30 images\enemy1_down4.png
文件 8112 2017-12-02 23:30 images\enemy2.png
文件 10408 2017-12-02 23:30 images\enemy2_down1.png
文件 11562 2017-12-02 23:30 images\enemy2_down2.png
文件 13310 2017-12-02 23:30 images\enemy2_down3.png
文件 3356 2017-12-02 23:30 images\enemy2_down4.png
文件 9126 2017-12-02 23:30 images\enemy2_hit.png
文件 47800 2017-12-02 23:30 images\enemy3_down1.png
............此处省略64个文件信息
相关资源
- python暴力破解蓝奏网盘密码.zip
- 用tkinter写的python GUI注册界面
- PythonTank
- SVD实现代码
- python爬取维基百科程序语言消息盒(
- easygui-0.96
- python坦克大战分步骤源码及素材
- django+mysql家具购物网站,包含部署教
- python新浪微博爬虫
- Python3.5.2的IDLE汉化版计算机等级考试
- 12306爬虫实现
- Python求解数独并输出求解过程
- python程序设计基础课件
- 西电python网络处理上机题答案
- VMD变分模态分解算法
- Python网络编程 3版 高清扫描版 完整中
- 使用python编写的打飞机游戏源码
- 计算24点python
- 扑克小游戏python代码
- Python黑客攻防入门.pdf
- 《Python语言程序设计基础第二版PDF+课
- Python-PySimpleGUI一个建立在tkinter之上简
- python3.5 百度ai人脸识别
- python编程从入门到实践的案例和动手
- 编译原理词法分析器、语法分析器p
- python3实现的国密SM2+SM3
- 50G金融资料包python源码包
- Python爬虫相关书籍.zip
- Windows64下通过python调用海康SDK实现登
- Python-使用DeepFakes实现YouTube视频自动换
评论
共有 条评论