- server/:node:http+node:sqlite 零依赖后端(users/sessions/user_stats/codex_unlocks/runs 五表) - 安全:scrypt密码哈希/服务端session/全prepared statement/输入白名单/限流/CSP等安全头/静态白名单防穿越 - 前端:o-auth登陆注册 + o-home飞行员大厅(排行榜Top100三排序+图鉴展柜背景:随机3主3副2僚机+刷怪巡游) - 图鉴改为收集点亮制(未收集=剪影+???),服务端codex_unlocks与本地并集同步 - 修复:回标题/大厅后背景卡在上场残影——render按battleUI门控+离场G=null;空闲=星空 - 结算上报:endRun/rush胜利两处submitRun,Boss击杀计数入排行榜 - playwright全流程验证通过(注册/登陆/游戏/结算/图鉴/安全注入/限流);游戏视觉未验收(用户亲自) |
||
|---|---|---|
| .. | ||
| css | ||
| demo | ||
| js | ||
| server | ||
| DEPLOY.md | ||
| index.html | ||
| package.json | ||
| README.md | ||
星尘突击队 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:音乐开关