# plane-war **Repository Path**: li-luoqiang/plane-war ## Basic Information - **Project Name**: plane-war - **Description**: 一个纯前端实现的飞机大战小游戏,单 HTML 文件、双击即玩,无需任何依赖或构建。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-08-17 - **Last Updated**: 2026-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 飞机大战 Plane War 一个纯前端实现的飞机大战小游戏,单 HTML 文件、双击即玩,无需任何依赖或构建。 - 数据本地存储(localStorage),自带 **TOP 10 排行榜** - 程序化 **音效**(Web Audio 合成,无外部音频文件) - **BOSS 关卡**(每 5 级触发,多阶段弹幕) - **武器道具系统**(多种武器 + 护盾 + 加命) ## 玩法 驾驶战机自动开火,击落敌机得分并累积等级。每升 5 级触发 BOSS 战,击败后可获得大量奖励道具。撞机或被敌弹击中会扣命,3 条命用尽即结束。结算时可输入昵称保存战绩到本地排行榜。 ## 操作 | 操作 | 按键 | | --- | --- | | 移动 | 方向键 / `WASD` / 鼠标拖动 / 触屏拖动 | | 开火 | 自动开火 | | 暂停 | `P` | | 静音 | `M` | ## 武器道具 击落敌机会概率掉落道具(小机 5% / 中机 16% / 大机 32%,BOSS 必掉 4 个),飞过去触碰拾取: | 道具 | 标识 | 效果 | | --- | --- | --- | | 三连发 | S | 三路散射 | | 激光 | L | 高速穿透光束,可连穿多个敌机 | | 散弹 | D | 5 弹丸宽扇形 | | 导弹 | M | 双发追踪弹,自动锁定最近目标 | | 护盾 | ◆ | 数秒无敌并吸收敌弹 | | 加命 | ♥ | 生命 +1(上限 6) | 武器与护盾均为限时增益,HUD 左下角显示当前武器与剩余时间。 ## 技术说明 - 渲染:HTML5 Canvas - 音效:`AudioContext` 实时合成 - 存储:`localStorage`(排行榜键 `planeWar.board.v1`,静音状态 `planeWar.muted`,昵称 `planeWar.name`) - 兼容桌面与移动端浏览器 ## 部署到 Cloudflare Pages(推荐,无需 Git) Cloudflare Pages 免费、国内访问通常比 GitHub 稳,且不用连接仓库,直接上传文件夹即可: 1. 打开 [pages.cloudflare.com](https://pages.cloudflare.com/) → 用邮箱注册/登录 Cloudflare(免费) 2. 点击 **Create a project** → 选择 **Upload assets**(上传资源,无需连 Git) 3. 将本目录 **`plane-war`** 整个文件夹拖入上传区(`index.html` 需位于根目录) 4. 填写 Project name(如 `plane-war`)→ 点击 **Deploy** 5. 稍等片刻即可得到网址:`https://plane-war.pages.dev` 后续更新游戏:在 Cloudflare Pages 仪表盘点击 **Upload** 重新上传文件夹覆盖即可。也可在 Settings → Custom domains 绑定自己的域名(免费证书自动签发)。 ## 部署到其他平台 - **GitHub Pages**:推送到 GitHub 后,仓库 Settings → Pages → 选 `main` 分支根目录,生成 `https://用户名.github.io/plane-war/` - **Netlify**:打开 [netlify.com](https://netlify.com),将本地 `plane-war` 文件夹直接拖入即可获得 `*.netlify.app` 链接 - **Gitee Pages**:Gitee 个人免费版已停止新站点部署,旧入口可能不可用;如需发布可改用上方 Cloudflare Pages / Netlify ## 本地运行 直接双击 `index.html` 即可;或在该目录下起一个静态服务器: ```bash python -m http.server 8080 # 浏览器打开 http://localhost:8080 ```