starraid/star-raid
2026-08-06 11:07:37 +08:00
..
css 修复'再来一局'进错模式:b-again/b-restart改用刚结束局自身的mode/ship/diff重开(原读SETUP.mode,玩过无尽后SETUP漂移导致闯关/rush死了都进无尽);rush局重开回同一Boss。大厅布局:排行榜上移flex:1撑满、进入基地/登出沉底、面板按钮全半透明露出背后模拟战。playwright回归:stage/endless/rush三模式再来一局全部正确,布局层级与半透明断言通过 2026-08-06 10:35:12 +08:00
demo 仓库提升至工作区根目录:star-raid成为子目录;gitignore排除.astrion/research;无关项目移至测试1 2026-08-06 01:24:32 +08:00
js 修复同机多账号数据串号(排行榜第二名复制第一名数据):①图鉴同步由并集合并改为服务端权威替换(localStorage浏览器级共享,并集会把上任账号图鉴推给下任);②结算不再上报localStorage历史最高分(endless_high只认本账号实际上报的无尽对局);③登出清空本地图鉴。已备份并清洗'你好'的污染数据(17条继承图鉴+195081假最高分,其真实成绩=击坠2)。playwright双账号同机回归:B账号0继承、榜单四行各异 2026-08-06 10:45:49 +08:00
server 配置外置:新增 server/env.js 零依赖.env加载器(启动最先加载,真实环境变量优先);数据库迁出源码树至 ~/.starraid(.env 的 DATA_DIR 可配,支持 ~ 展开);star-raid/.env 进 gitignore + .env.example 模板;DEPLOY/AGENTS 同步。教训记录:WAL 模式迁移前必须 checkpoint(本次迁移误删 WAL 丢测试数据,用户确认无所谓) 2026-08-06 11:07:37 +08:00
.env.example 配置外置:新增 server/env.js 零依赖.env加载器(启动最先加载,真实环境变量优先);数据库迁出源码树至 ~/.starraid(.env 的 DATA_DIR 可配,支持 ~ 展开);star-raid/.env 进 gitignore + .env.example 模板;DEPLOY/AGENTS 同步。教训记录:WAL 模式迁移前必须 checkpoint(本次迁移误删 WAL 丢测试数据,用户确认无所谓) 2026-08-06 11:07:37 +08:00
DEPLOY.md 配置外置:新增 server/env.js 零依赖.env加载器(启动最先加载,真实环境变量优先);数据库迁出源码树至 ~/.starraid(.env 的 DATA_DIR 可配,支持 ~ 展开);star-raid/.env 进 gitignore + .env.example 模板;DEPLOY/AGENTS 同步。教训记录:WAL 模式迁移前必须 checkpoint(本次迁移误删 WAL 丢测试数据,用户确认无所谓) 2026-08-06 11:07:37 +08:00
index.html 修复'再来一局'进错模式:b-again/b-restart改用刚结束局自身的mode/ship/diff重开(原读SETUP.mode,玩过无尽后SETUP漂移导致闯关/rush死了都进无尽);rush局重开回同一Boss。大厅布局:排行榜上移flex:1撑满、进入基地/登出沉底、面板按钮全半透明露出背后模拟战。playwright回归:stage/endless/rush三模式再来一局全部正确,布局层级与半透明断言通过 2026-08-06 10:35:12 +08:00
package.json 后端化:账号系统+排行榜+图鉴收集同步+飞行员大厅(零依赖Node+SQLite) 2026-08-06 04:20:25 +08:00
README.md 仓库提升至工作区根目录:star-raid成为子目录;gitignore排除.astrion/research;无关项目移至测试1 2026-08-06 01:24:32 +08:00

星尘突击队 STAR RAID

像素风 Roguelike 竖版射击游戏。原单文件版本已按功能拆分为多文件结构。

运行方式

浏览器直接打开 index.html 即可游玩;或启动本地服务器:

cd star-raid
python3 -m http.server 8000
# 访问 http://localhost:8000/

文件结构

star-raid/
├── index.html        # 页面结构:画布 + 各界面覆盖层(标题/机库/图鉴/结算等)
├── css/
│   └── style.css     # 全部样式:像素风 UI、覆盖层、卡片、触屏按钮
└── js/
    ├── config.js     # 工具函数、存档读写、平衡数值总表
    ├── audio.js      # 程序化音频:音效合成 + 背景音乐
    ├── sprites.js    # 像素精灵工坊:战机/敌机/弹幕/道具/图标绘制
    ├── data.js       # 静态数据机体、21 主武器、18 副武器、僚机、被动
    ├── core.js       # 全局状态、输入、玩家移动、武器引擎、爆炸特效
    ├── enemies.js    # 敌人图鉴、敌机行为、突变词缀、波次生成、Boss 战
    ├── combat.js     # 战斗结算、子弹更新、碰撞检测、经验与三选一
    ├── render.js     # 背景渲染、Boss 像素绘制、世界渲染、主循环
    └── ui.js         # 界面流转、机库商店、图鉴、实战模拟演示

加载顺序说明

JS 模块通过全局作用域共享状态,需按 index.html 中的顺序加载: config → audio → sprites → data → core → enemies → combat → render → ui

操作

  • 移动WASD / 方向键 / 触屏拖动
  • 射击:全自动
  • SHIFT精密移动 · P暂停 · M音乐开关