- 前言
- 一、粗犷的飞机大战
- 实际运行情况
- 文件介绍
- 主要包括以下两个文件
- 主文件:main.py
- 配置文件
- 通过修改配置文件可以改变飞机的速度,子弹的大小,敌机的速度,屏幕的大小等
- 源文件获取
前言
最近学了一点python,想着写一个小游戏,于是有了此篇
一、粗犷的飞机大战 实际运行情况
运行的时候看起来敌机会不自然的抖动,其实是因为飞机左右移动是随机的,因为运行速度太快,左右移动次数差不多,所以看起来会像是在颤抖一样
def run_game():
pygame.init()
my_setting = Settings() # 初始化游戏设置
screen = pygame.display.set_mode((my_setting.screen_width, my_setting.screen_height)) # 创建一个屏幕
pygame.display.set_caption('python games')
ship = Ship(my_setting, screen) # 初始化飞船
bullets = Group()
enemys = Group()
functions.create_enemy(my_setting, screen, enemys)
# 开始游戏主循环
while True:
functions.check_events(ship, my_setting, screen, bullets) # 监听键盘操作
ship.update_location() # 根据键盘操作移动飞船
functions.update_bullet(bullets, enemys, ship) # 更新子弹
functions.update_enemy(enemys, my_setting, screen) # 更新敌军
functions.gameover(ship, enemys) # 检测游戏是否结束,只有当敌机与我机相碰撞时游戏才会结束
functions.update_screen(my_setting, screen, ship, bullets, enemys) # 刷新屏幕,子弹向上飞,飞机移动都要更新以下屏幕
配置文件
class Settings():
def __init__(self): # 参数设置
"""屏幕参数"""
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (230, 230, 230)
"""飞船参数"""
self.ship_speedx = 0.8 # 横向移动速度
self.ship_speedy = 0.6 # 纵向移动速度
"""子弹设置"""
self.bullet_speed = 0.5
self.bullet_width = 3
self.bullet_height = 3
self.bullet_color = (60, 60, 60)
self.bullet_nums = 10 # 同一时间出现在屏幕上的子弹数量
""" 敌机"""
self.enemy_speed = 0.1
通过修改配置文件可以改变飞机的速度,子弹的大小,敌机的速度,屏幕的大小等
源文件获取
百度网盘下载



