八秒拨穗训练营
将以下提示词粘贴到你的 AI 对话框中:
请根据官方安装指南 https://skillhub.cn/install/skillhub.md,将规范名为 @user_fc3c0b95/1023 的技能安装到 AI 助手中。
技能介绍
要解决的问题
毕业季上线一个"八秒拨穗"主题的 H5 互动小游戏,看似只是换个皮的小游戏 demo,真正动手时常见的三个坑:一是单文件游戏里 CSS、DOM id、JS 状态互相咬合,改一个按钮可能让整个状态机崩掉;二是计分、摄像头姿态检测、键盘彩蛋这些机制没有统一入口,散落在几千行里无处下手;三是需求方随时会加"换个学校配色""加个隐藏称号",没有可复用的改造路径就只能重写。
技能如何工作
- 默认只给文字指导:AI 不自动创建或修改文件,代码一律以代码块展示,由开发者自行粘贴,避免误覆盖现有项目。
- 复制即用:模板
assets/basui-training-v8-template.html是完整可玩的 v8 版本,cp到新目录改名即可做主题/换校改造。 - 按改动类型查文档:动作与障碍物看
references/actions-challenges.md,时间窗口评分看scoring-system.md,徽章与排行榜看badges-leaderboard.md,隐藏彩蛋(Z/C/V键)看hidden-easter-eggs.md,整体状态机看architecture.md。 - 行号定位表:SKILL.md 给出
ACTS(~1060)、OB_TYPES(~1070)、BADGES(752+)、scoreTiming()(~1239)、initCamera()/poseLoop()(1655+)、bindDodgeKeys()(1097+)、end()/showResult()(1489+)等关键模块的大致行号,打开index.html后能直接跳到目标函数。 - 一键分发:
python scripts/package.py把项目目录打成 zip,便于分发给运营或同学测试。
适用边界与注意点
- 不要拆分单文件:当前架构是单 HTML 内联 CSS + JS,拆包会破坏所有 id 引用,二次开发请在单文件内用 Edit 精准改。
- 先读全局状态
S:每个函数都与S强耦合,改任何函数前先弄清S的结构。 - localStorage key 固定为
sysu8s_v4:改名会导致已有用户数据丢失。 - 键盘事件统一挂载:新增隐藏按键必须放进
bindDodgeKeys()的统一监听,否则会被吞掉。 - 入场特效要清理:新特效需同时调用
end()与retryGame()的清理逻辑,避免状态残留。 - SVG 保持 viewBox 一致:校长、学生、障碍物都是纯 SVG,替换素材时注意坐标系对齐。
- 摄像头姿态检测依赖设备权限,桌面浏览器无摄像头时只能测键盘躲障分支。
使用场景
- 接到毕业晚会筹备组需求,要复用 v8 样板改出一套本校配色和校名的拨穗游戏 H5。
- 现有 basui-training 的评分逻辑不符合活动规则,需参考时间窗口评分文档改造 scoreTiming()。
- 想在游戏里加入 Z/C/V 隐藏彩蛋键,需要按彩蛋模板改 bindDodgeKeys() 统一监听逻辑。
- 游戏开发完毕,需要用 package.py 把项目目录打成 zip 发给运营同学分发测试。
适合人员
- 前端开发,接到毕业季 H5 互动游戏需求,需要一份可改主题的单文件游戏样板快速起步。
- 校园活动开发者,想给本校毕业晚会做一个拨穗小游戏,但不想从零搭游戏状态机。
- 小游戏维护者,接手别人写的单文件 HTML 游戏,要在不拆架构的前提下扩展评分与彩蛋。
- H5 运营,需要把现有游戏打包成 zip 交给团队分发,并换校名配色后上线。