Files
2026-08-27 22:54:14 +08:00

32 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PRD — 合成交大(Integrate SJTU)
## 产品目标
- 在 D:\integrate_sjtu 生成一个完整的单 HTML 文件游戏「合成交大(Integrate SJTU)」,模仿《合成大西瓜》。
- 使用 C9 高校校徽(assets/ 下 9 个 SVG 文件)作为合成物,从上落下。
## 功能需求
- 9 级合成链(半径从小到大):西交(25) → 哈工大(30) → 中科大(35) → 南大(38) → 浙大(42) → 复旦(46) → 北大(50) → 清华(55) → 上交(60)。
- 刷新规则:初始池只有 1 级(权重 1.0);合成出 N 级后解锁 N 级进池;按给定权重表(低阶为主、高阶稀有)随机。
- 物理:Matter.js 0.19.0(CDN),固定时间步长 60Hz 累积器,给定引擎与球体参数。
- 合成:collisionStart 接触即合(processMerges 内 60ms 视觉延迟),doMerge 前做 isMergeable 校验(同等级、游戏球、未移除、非静态、距离 ≤ 半径和+10px)。
- 校徽渲染:SVG 内容内联 → new Image() + data URI → 离屏 Canvas 缓存 → drawBadge 优先从缓存绘制,未就绪用特征色圆+白字兜底。
- 操作:鼠标/触屏 pointer 控制左右移动,松手投掷,480ms 投掷冷却。
- 失败条件:堆叠高度超过顶部红线(y = 0.15H)。
- 特效:合成粒子爆炸 + 白色闪烁环 + 浮动得分文字;合成上海交大全屏撒花(90 个 confetti)。
- 游戏结束:遮罩 + 最终得分 + 重新开始按钮。
- UI:渐变背景、蓝色半透明 HUD(左得分、右下一个预览)、虚线红线、预告球 + 垂直虚线预测落点。
- 记分:合成得分 = newLevel*10 + (combo>1 ? (combo-1)*5 : 0);连击窗口 900ms。
- 适配:360px 逻辑宽度,自动缩放适配手机和 PC。
## 用户场景
- 用户用浏览器(手机或 PC)打开 index.html,按住移动预告球、松手投掷,合成高等级校徽争取高分。
- 合成上海交大时全屏庆祝;堆叠越过红线则游戏结束,可点击重新开始。
## 验收标准
- index.html 为单文件,内联全部 9 个 SVG 校徽,Matter.js 走 CDN。
- 合成链、刷新权重、物理参数、冷却、红线位置与规格一致。
- 可完整进行:投掷 → 合成 → 计分/连击 → 解锁 → 庆祝 → 结束 → 重开。
## 范围边界
- 不包含音效、存档、排行榜、联网功能。
- 交付物仅 index.html + 三文件文档;SVG 资源保持原样。