栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python小游戏

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python小游戏

文章目录
  • 前言
  • 一、粗犷的飞机大战
    • 实际运行情况
    • 文件介绍
      • 主要包括以下两个文件
        • 主文件:main.py
        • 配置文件
        • 通过修改配置文件可以改变飞机的速度,子弹的大小,敌机的速度,屏幕的大小等
  • 源文件获取


前言

最近学了一点python,想着写一个小游戏,于是有了此篇

一、粗犷的飞机大战 实际运行情况


运行的时候看起来敌机会不自然的抖动,其实是因为飞机左右移动是随机的,因为运行速度太快,左右移动次数差不多,所以看起来会像是在颤抖一样

文件介绍 主要包括以下两个文件 主文件:main.py
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
通过修改配置文件可以改变飞机的速度,子弹的大小,敌机的速度,屏幕的大小等 源文件获取

百度网盘下载

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000708.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号