行星毁灭者 - Planet Destroyer
游戏简介
行星毁灭者是一款基于HTML5 Canvas开发的赛博朋克风格太空射击游戏。玩家将扮演Qwen号飞船的指挥官,驾驶配备QWEN核弹的飞船,执行摧毁威胁地球的行星的任务。
游戏特色
🎮 核心玩法
- 引力导弹系统:利用行星引力引导导弹轨迹,实现精确打击
- QWEN导弹序列:四枚特殊导弹(Q、W、E、N),按顺序使用
- 动态关卡:随着关卡提升,行星数量和目标数量增加
- 飞船移动机制:第5关开始飞船会上下移动,增加挑战性
🎨 视觉设计
- 赛博朋克风格:霓虹色彩、网格背景、扫描线效果
- 粒子系统:导弹尾焰、引擎效果、爆炸动画
- 动态星空:闪烁的星星背景营造太空氛围
- 霓虹边框:所有UI元素都带有发光效果
🎯 游戏机制
- 精确打击:需要考虑行星引力对导弹轨迹的影响
- 资源管理:每枚导弹都很珍贵,失误将消耗对应字母
- 关卡进阶:每关都有不同的行星配置和挑战目标
技术实现
技术栈
- HTML5 Canvas:游戏渲染核心
- 原生JavaScript:游戏逻辑实现
- CSS3:赛博朋克UI样式
- ES6 Classes:面向对象的游戏架构
核心类设计
Missile 导弹类
- 轨迹计算与绘制
- 粒子效果系统
- 碰撞检测
- 状态管理(活跃/击中/飞出屏幕)
Spaceship 飞船类
- 动态位置更新(上下移动)
- 引擎粒子效果
- 精美外观设计(渐变、高光、尾焰)
Planet 行星类
- 三种行星类型:岩石、气态、冰行星
- 质量影响引力强度
- 目标行星标记系统
- 毁灭状态管理
视觉效果技术
- 径向渐变:行星光晕效果
- 线性渐变:飞船和导弹的金属质感
- 动画系统:扫描线、网格移动、星星闪烁
- 粒子系统:实时计算和渲染
游戏操作
控制方式
- 鼠标点击:发射导弹
- 自动瞄准:导弹自动朝鼠标点击方向发射
游戏规则
- 每关有特定数量的目标行星需要摧毁
- 拥有Q、W、E、N四枚导弹,按顺序使用
- 导弹未击中目标会消耗对应字母
- 所有字母耗尽或目标未达成则游戏失败
- 第5关开始飞船会上下移动,增加难度
文件结构
game/
├── planet_destroyer_v23_fixed_v4.html # 主游戏文件
├── src/
│ ├── index.html # 游戏入口
│ ├── game.js # 游戏核心逻辑
│ ├── character.js # 角色相关
│ ├── story.js # 剧情系统
│ ├── geojson_loader.js # 地理数据加载
│ └── index.js # 主入口文件
如何运行
方法一:直接打开
- 双击
planet_destroyer_v23_fixed_v4.html文件 - 浏览器会自动打开游戏
方法二:本地服务器
- 进入
game目录 - 启动本地服务器(如 Python 的
http.server) - 访问
http://localhost:8000/src/index.html
支持的浏览器
- Chrome 60+
- Firefox 55+
- Safari 11+
- Edge 79+
游戏配置
关卡设置
| 关卡 | 行星总数 | 目标行星 | 特殊挑战 |
|---|---|---|---|
| 1 | 5 | 2 | 无 |
| 2 | 6 | 3 | 无 |
| 3 | 7 | 4 | 无 |
| 4 | 10 | 4 | 无 |
| 5 | 10 | 4 | 飞船移动 |
行星类型
- 岩石行星:棕色,中等质量
- 气态行星:蓝色,高质量
- 冰行星:浅蓝色,低质量
开发说明
代码架构
游戏采用面向对象设计,主要类之间的关系:
Game管理整体游戏状态Spaceship负责玩家控制Missile处理武器系统Planet管理游戏目标
扩展建议
- 音效系统:添加背景音乐和音效
- 存档功能:实现游戏进度保存
- 更多武器类型:增加不同特性的导弹
- 多人模式:支持本地双人对战
- 关卡编辑器:允许玩家创建自定义关卡
性能优化
- 使用对象池管理导弹和粒子
- 实现视锥剔除减少绘制调用
- 优化碰撞检测算法
版本历史
v23.4 (当前版本)
- 修复了导弹轨迹计算问题
- 优化了粒子效果性能
- 增加了飞船移动机制
- 改进了视觉效果
v23.3
- 添加了赛博朋克UI主题
- 实现了星星背景动画
- 优化了游戏平衡性
开发者信息
- 游戏设计:行星毁灭者团队
- 技术实现:HTML5 Canvas + JavaScript
- 美术风格:赛博朋克霓虹主题
- 发布日期:2025年
许可证
本项目采用MIT许可证,允许自由使用、修改和分发。
技术支持
如遇到游戏运行问题,请检查:
- 浏览器是否支持HTML5 Canvas
- JavaScript是否已启用
- 是否有足够的系统资源
"在浩瀚的宇宙中,你是地球最后的希望。指挥官,祝你好运!"
以下是一些具体的演示画面
具体的游戏页面完全使用qwen3 code进行的编写
3.7我是使用qwen code cli进行编写的现在qwen每天给予2000次访问,摆好的羊毛让我这种人去薅,实在是太好了,而且qwen code cli是使用的是 qwen3-coder-plus 模型能力经本人实测可以与claude4.0 sonnet相媲美,以下是具体的cli页面
F415643/plant-destroyer-game当前游戏文件的github地址,大家可以直接下载进行游戏。