# HEROLL 玩法验证 MVP 最新整合文档 > 版本:2026-08-24 > 状态:当前可运行 DEMO 的规范基线 > 范围:Grass 主题、10 层、单机玩法验证;不包含广告、局外成长、抽卡、付费或联网功能。 ## 1. 本版锁定结论 1. 棋盘共有 **40 个独立实际地块**,不存在“10 个逻辑格映射 40 个画面格”。 2. 双骰总点数就是移动步数:**1 点移动 1 个地块**。例如从 0 号起点 ROLL 出 10,角色顺时针逐格移动 10 次并停在 10 号地块。 3. 棋盘固定不旋转。角色从底部起点出发,沿左侧、顶部、右侧顺时针移动。 4. 普通战斗格按 1–4 个骷髅区分,严格对应 1–4 只怪物。 5. 加入普通小 Boss 地块和污染 Boss 地块;暂不加入其他负面格或原作角落格。 6. 战斗、两类小 Boss、商店或事件完整结算后,来源地块变成荒地。 7. 每层只走完一圈。进入下一层后,荒地继续保持荒地,除非被 Boss 转化/污染机制或新增地块覆盖。 8. 保留所有必要的移动、落地、战斗、UI 数字和结算动画;正常游玩不提供跳过动画或直接硬切界面的入口。 9. 当前 DEMO 不显示任何广告按钮;死亡时仅允许源码复生祝福生效,否则进入失败结算。 ## 2. 核心循环 \`\`\`text ROLL 双骰 → 显示两枚骰子和总点数 → 按总点数逐格顺时针移动 → 播放落地反馈 → 结算战斗 / 小Boss / 商店 / 事件 / 荒地 → 已结算功能格变荒地 → 越过起点进入下一层,恢复最大生命的30% → 第10层击败最终Boss后胜利 \`\`\` 角色从 39 号地块继续前进会越过 0 号起点。每次越过起点只触发一次楼层推进,不会重复结算起点,也不会在同一移动中再次触发其他落点。 ## 3. 棋盘与地块完整清单 ### 3.1 基础地块 | 地块 | 图形识别 | 数量/生成 | 停留作用 | 结算后 | |---|---|---:|---|---| | 起点 \`START\` | 蓝色起点图标 | 固定 1 个,索引 0 | 越过时进入下一层并恢复最大生命 30% | 永久保留 | | 荒地 \`EMPTY\` | 无功能图标的空格 | 初始剩余位置及已消耗位置 | 无事件、无战斗,落地后返回 ROLL | 继续保留,直到被合法覆盖 | | 普通战斗 1 骷髅 | 1 个骷髅 | 初始普通战斗池 | 生成 1 只普通怪物 | 胜利后变荒地 | | 普通战斗 2 骷髅 | 2 个骷髅 | 初始普通战斗池 | 生成 2 只普通怪物 | 胜利后变荒地 | | 普通战斗 3 骷髅 | 3 个骷髅 | 初始普通战斗池 | 生成 3 只普通怪物 | 胜利后变荒地 | | 普通战斗 4 骷髅 | 4 个骷髅 | 初始普通战斗池 | 生成 4 只普通怪物 | 胜利后变荒地 | | 普通小 Boss \`MINIBOSS\` | 原作普通 Boss 地块和怪箱图标 | 初始 1 个 | 触发小 Boss 战斗;怪物数量随机 1–4 | 胜利后变荒地 | | 污染 Boss \`INFECTED_BOSS\` | 原作污染 Boss 地块和污染怪箱图标 | 初始 1 个 | 触发污染小 Boss 战斗;未消灭时进入新层会污染普通战斗格,最多生效 3 次 | 胜利后变荒地 | | 商店 \`MERCHANT\` | 原作蓝色商店图标 | 第 3/6/9 层安装 | 打开 3 个固定丹药商品和 3 个随机商品 | 离开后变荒地 | 新局棋盘初始生成 13 个普通战斗格、1 个普通小 Boss、1 个污染 Boss、1 个本层核心事件和起点,其余位置为荒地。所有 40 个位置均可被角色真实停留。 ### 3.2 事件地块 | ID | 地块 | 当前 DEMO 作用 | 结算后 | |---|---|---|---| | EV-137 | 铁匠铺 | 选择已装备物品强化;按品质使用 80%/50%/30%/10%/0% 基础成功率,失败时装备被分解 | 荒地 | | EV-138 | 灵泉/营火 | 恢复最大生命 30%,不超过上限 | 荒地 | | EV-139 | 传奇装备 | 生成 1 件传奇装备并进入标准装备比较 | 荒地 | | EV-140 | 挖掘 | 5×5 棋盘,基础 5 次挖掘;获得局内点数或装备 | 荒地 | | EV-141 | 宝箱 | 生成 1 件普通掉落池装备并进入装备比较 | 荒地 | | EV-142 | 彩票 | 单次随机结算;当前验证收益为 100/20/7/0 点 | 荒地 | | EV-143 | 21 点 | 当前验证版自动比较玩家与庄家点数,奖励 18/5/0 点 | 荒地 | | EV-144 | 祝福点 | 揭示并接受 1 个祝福 | 荒地 | | EV-151 | 抓娃娃 | 基础 1 次,当前验证成功率 55%;成功获得装备 | 荒地 | | EV-152 | 黄金马车 | 二选一:恢复最大生命 20%,或获得 15 点 | 荒地 | | EV-164 | 骰子机 | 掷 3 枚 D6;三同 50 点、对子 15 点,否则获得最大骰面点数 | 荒地 | | EV-166 | 泡泡射手 | 基础 3 发,每发获得 1–6 点 | 荒地 | 事件格使用各自的 \`Installtile_*\` 原作图标。当前不加入未确认的负面格、角落格或额外事件种类。 ## 4. 地块生命周期与跨层规则 每个功能地块在一局中遵循同一条生命周期: \`\`\`text 功能地块 → 玩家落地 → 完整播放进入与结算动画 → 战斗胜利或事件退出/领取完成 → 该位置变为荒地 → 进入下一层仍保持荒地 \`\`\` 允许覆盖荒地的来源只有两类: - Boss 2+4 行动将合法的非起点、非祝福位置转为普通战斗格。 - 过层或商店购买产生的新增地块安装到合法荒地。 污染 Boss 自身未被消灭时,每次进入新层让现存普通战斗格的怪物数 \`+1\`,最高 4 只,同时污染层级 \`+1\`,最多生效 3 次。它不会覆盖起点或祝福格。 ## 5. Boss 行动规则 Boss Gauge 不是“玩家攻击几次、Boss 攻击一次”的战斗条。它只统计玩家完成的 ROLL 行动: 1. 玩家先完成 2 次 ROLL,右侧显示 \`0/2 → 1/2\`。 2. 第二次 ROLL 后进入 4 次 ROLL 倒计时,显示 \`4 → 3 → 2 → 1 → 0\`。 3. 倒计时结束后,播放 Boss 警示、棋盘震动和逐格转化动画。 4. Boss 将 4 个互不重复的合法地块变为普通战斗格。 5. 祝福格和起点不会被转化。 6. 行动结束后回到玩家 2 次 ROLL 的蓄势阶段,循环继续。 ## 6. 战斗与难度 - 普通战斗格的骷髅数就是本场敌人数,不允许图标与实际敌人数不一致。 - 1–4 敌人的单体攻击倍率分别为 \`1.00 / 0.72 / 0.58 / 0.48\`,避免多目标简单叠加造成不可控秒杀。 - 普通小 Boss 和污染 Boss 的怪物数量权重为 \`60% / 25% / 10% / 5%\`,分别对应 1/2/3/4 只。 - 小 Boss 在同层普通敌人基线上使用 \`生命 ×1.18、攻击 ×1.12\`。 - 玩家和敌人自动攻击,保留反击。玩家战斗中的唯一即时主动输入是丹药。 - 初始配置已加入新手容错,自动化用例要求不使用丹药、广告或调试强化也能连续击败前三组普通怪物。 ## 7. 丹药 全局只有一种丹药。商店固定提供三个丹药商品: | 商品 | 作用 | |---|---| | 补充丹药 | 增加 1 瓶,但不能超过当前持有上限 | | 增加上限 | 持有上限永久增加 1 瓶 | | 增加恢复量 | 提升这唯一一种丹药的基础恢复量 | 当前验证实现按逆向配置使用固定 HP 基础曲线 \`50、80、110……650\`;最大生命百分比治疗由独立丹药祝福叠加。丹药只在战斗中可使用,恢复不超过最大生命。进入下一层的 30% 恢复属于楼层机制,不消耗丹药。 ## 8. 主要 UI 位置 | 区域 | 位置 | 内容与作用 | |---|---|---| | 局内货币 | 左上 | 当前局内点数 | | AUTO / 暂停 | 右上 | 自动战斗状态与暂停入口 | | 楼层进度 | 右侧竖条 | 当前层/总层数、Boss 蓄势或倒计时 | | 棋盘 | 画面中上部 | 40 个实际地块、中心 Boss、玩家棋子和顺时针路线 | | 玩家状态 | 棋盘下方 | 当前层、等级、生命值与生命条 | | 装备 | 底部中间 | 武器、戒指、手套、鞋四个固定槽 | | 属性查看 | 左下 | 打开角色属性与调试验收入口 | | ROLL | 底部中央 | 唯一的棋盘主操作;掷骰期间锁定 | | 丹药 | 右下 | 显示当前瓶数/上限;仅战斗中可用 | 地块必须优先通过原作图标辨认,文字只作为辅助,不允许玩家只能依赖颜色或猜测地块功能。 ## 9. 动画与节奏硬约束 以下表现均必须保留一段可读动画或反馈:按钮按下、双骰滚动和定格、总点数显示、逐格移动、落地、过层恢复、战斗进入、双方攻击与受击、伤害和治疗数字、反击、胜利/失败、装备比较、祝福、商店购买、事件操作、源码祝福复生和最终结算。 正常游玩不得提供跳过这些动画的按钮,也不得在 ROLL 后直接把角色硬跳到最终地块。调试入口可加速战斗,但不能改变点数、步数、落点或结算顺序。 ## 10. 当前验证结果 | 验收项 | 结果 | |---|---| | TypeScript 严格编译 | 通过 | | 核心自动测试 | 24/24 通过 | | 40 个独立实际地块 | 通过 | | 可见 ROLL 总点数 = 动画步数 = 最终索引差 | 通过 | | 1–4 骷髅 = 1–4 只怪物 | 通过 | | 两类小 Boss 与三次污染 | 通过 | | 战斗/事件变荒地且跨层保留 | 通过 | | Boss 2+4 循环并转化 4 个地块 | 通过 | | 浏览器完整冒烟 | 通过 | | 原作 UI/地块资源还原测试 | 通过 | | 广告按钮数量 | 0 | ## 11. 证据到实现 | 证据 | 结论 | 实现路径 | |---|---|---| | 用户标注图 1 | 点数必须与实际地块步数一一对应 | \`ROLL → dice sum → animateMovement(sum) → tileIndex\` | | 用户标注图 2 | HUD、棋盘、装备、ROLL、丹药采用原作关卡内布局 | \`main.ts\` 渲染层 + \`styles.css\` 固定锚点 | | 用户标注图 3 | 1–4 骷髅、小 Boss、污染 Boss 是不同战斗地块 | \`TileState.kind/enemyCount\` → 独立原作资源 → \`startBattle\` | | 用户本轮确认 | 已触发地块变荒地并跨层保留;暂不加入其他负面格 | \`clearTileAfterResolution\` → \`EMPTY\` → 过层保留 | | 自动测试与实机截图 | 规则、移动和资源加载可重复验证 | \`mvp/tests/core.test.mjs\`、\`browser-smoke.mjs\`、\`restoration.test.mjs\` | ## 12. 运行与复验 双击项目根目录: \`\`\`text HEROLL_MVP_START.cmd \`\`\` 完整验证: \`\`\`powershell cd C:\Users\toshio\Documents\ChatGPT\heroll\mvp .\Validate-Heroll-MVP.ps1 \`\`\` 启动器自检(不打开浏览器): \`\`\`cmd set HEROLL_MVP_SELF_TEST=1 HEROLL_MVP_START.cmd \`\`\` 更细的公式、数据表和技术契约见 \`design/gameplay-validation/Heroll_Gameplay_Validation_GDD.md\`;原作视觉证据和还原边界见 \`analysis/reference-study/RESTORATION_REPORT.md\`。