# sky-fighter **Repository Path**: greatGrizzly/sky-fighter ## Basic Information - **Project Name**: sky-fighter - **Description**: 飞机大战 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-31 - **Last Updated**: 2026-02-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sky Fighter - 飞机大战游戏 ## 项目概述 Sky Fighter是一款基于Python和Pygame开发的经典飞机大战PC游戏,玩家可以通过键盘控制飞机进行战斗,体验刺激的空中对决。 ### 已实现功能 1. **游戏核心系统** - 游戏主循环和事件处理系统 - 60 FPS帧率控制 - 碰撞检测系统 - 游戏状态管理 2. **玩家系统** - 玩家飞机控制(WASD键控制方向) - 多种子弹发射模式(J/K/L键发射不同数量的子弹) - 飞机移动边界限制 - 战斗数据统计(击毁敌机数、被击中次数、被撞击次数) 3. **敌人系统** - 敌人飞机随机生成和移动 - 敌人AI自动射击 - 敌人飞机多样性(7种不同颜色的飞机) - 敌人出现频率控制 4. **视觉效果** - 滚动地图背景 - 飞机爆炸动画效果 - 子弹发射效果 - 游戏数据显示 5. **音频系统** - 游戏背景音乐 - 爆炸音效 6. **资源管理** - 图像资源加载和管理 - 音频资源加载和管理 - 字体资源加载和管理 ## 技术依赖 | 依赖项 | 版本 | 用途 | |-------|------|------| | Python | 3.12.0 | 编程语言 | | Pygame | 2.6.1 | 游戏开发库,用于创建游戏窗口、绘制图形、处理用户输入和音频 | | NumPy | 2.4.1 | 用于生成音频文件和处理数学计算 | | PyInstaller | 6.17.0 | 用于将游戏打包为可执行文件 | ## 代码结构 ``` sky-fighter/ ├── src/ # 源代码目录 │ ├── componts/ # 游戏组件目录 │ │ ├── Bomb.py # 爆炸效果类 │ │ ├── Bullet.py # 子弹类 │ │ ├── BulletForHero.py # 玩家子弹管理类 │ │ ├── Config.py # 游戏配置文件 │ │ ├── EnemyManager.py # 敌人管理器类 │ │ ├── EnemyPlane.py # 敌人飞机类 │ │ ├── GameMap.py # 游戏地图类 │ │ └── HeroPlane.py # 玩家飞机类 │ ├── generate/ # 资源生成脚本目录 │ │ ├── create_audio.py # 生成音频文件 │ │ ├── create_bullet_images.py # 生成子弹图片 │ │ ├── create_enemy_planes.py # 生成敌人飞机图片 │ │ └── create_player_plane.py # 生成玩家飞机图片 │ ├── resource/ # 游戏资源目录 │ │ ├── fonts/ # 字体资源 │ │ ├── images/ # 图像资源 │ │ │ ├── bomb/ # 爆炸动画图片 │ │ │ ├── bullet/ # 子弹图片 │ │ │ ├── map/ # 地图图片 │ │ │ ├── plane/ # 飞机图片 │ │ │ └── hero.png # 玩家飞机图片 │ │ └── wavs/ # 音频资源 │ ├── test/ # 测试脚本目录 │ ├── util/ # 工具函数目录 │ │ └── Fileutil.py # 文件路径工具函数 │ ├── Main.py # 游戏主文件 │ └── requirements.txt # 依赖项文件 ├── package/ # 打包脚本目录 │ ├── dist/ # 打包输出目录 │ └── package.ps1 # PowerShell打包脚本 ├── .gitignore # Git忽略文件 ├── LICENSE # 许可证文件 └── README.md # 项目说明文件 ``` ### 关键文件说明 - **Main.py**: 游戏主入口文件,包含游戏主循环、事件处理、碰撞检测等核心逻辑 - **componts/**: 包含游戏的所有核心组件,如飞机、子弹、敌人、地图等 - **resource/**: 包含游戏所需的所有资源文件,如图像、音频、字体等 - **util/Fileutil.py**: 提供资源文件路径的工具函数 - **package/package.ps1**: 用于将游戏打包为可执行文件的PowerShell脚本 ## 安装说明 ### 前提条件 - Python 3.12.0或更高版本 - pip包管理器 ### 安装步骤 1. **克隆项目仓库** ```bash git clone sky-fighter.git cd sky-fighter ``` 2. **安装依赖项** ```bash pip install -r src/requirements.txt --index-url https://mirrors.aliyun.com/pypi/simple/ ``` 3. **运行游戏** ```bash python src/Main.py ``` ### 打包为可执行文件 如果您想将游戏打包为Windows可执行文件,可以使用项目提供的打包脚本: ```powershell powershell -ExecutionPolicy Bypass -File package/package.ps1 ``` 打包后的可执行文件将位于 `package/dist/SkyFighter.exe`。 ## 使用示例 ### 基本操作 1. **控制飞机移动** - W: 向上移动 - S: 向下移动 - A: 向左移动 - D: 向右移动 2. **发射子弹** - J: 发射1发子弹 - K: 发射2发子弹 - L: 发射3发子弹 3. **退出游戏** - 点击窗口右上角的关闭按钮 ### 游戏目标 - 控制飞机躲避敌人的攻击 - 射击并摧毁尽可能多的敌人飞机 - 挑战更高的分数 ### 代码规范 - 遵循 PEP 8 代码风格指南 - 为所有函数和类添加文档字符串 - 保持代码简洁明了 - 添加适当的注释 祝您游戏愉快!🚀