# 三关入门序章 2026-09-12。入口:[开始教学](http://localhost:4173/?campaign=v0.5&tutorial=1)。选关窗口将三个教学入口放在正式章节前,可以随时重玩。 | 教学 | 棋盘 / 棋子 | 玩家学会什么 | 最少操作 | | --- | --- | --- | --- | | 点一下,出发 | 完整 19 格 / 1 枚 | 箭头决定起步方向,沿弯道自动转向,离场即完成 | 1 次点击 | | 先给它让路 | 同一完整 19 格盘 / 2 枚 | 先移下方挡子,再点上方棋子;可以连续点击 | 2 次点击 | | 转一下,路就通了 | 完整 19 格 / 2 枚 | 旋转轨道打开新出口,棋子位置和箭头不动 | 1 次旋转 + 2 次点击 | 根据用户反馈,原先的 4 / 4 / 7 格教学盘统一替换为与正式第 1 关相同的完整半径 2 六边形,保留全部 19 个格子和边角,仅减少棋子。三课由规整的直脊和两侧连续圆弯组成,前两课共用同一底板;第二课只增加一个新的阻挡关系。第三课上下对称,左右任一方向转一次都能清盘。主路线经过 6 格、转 5 次弯;第二课的挡子走 2 弯离场。每格的三对轨道全部真实、完整且格内不交叉,统一颜色和线宽。 界面与操作沿用游戏已有逻辑:教学说明使用原来的限时提示,旋转、撤销、重来和提示使用原有控件。前两课通过关卡数据禁用旋转,第三课允许旋转;不新增或隐藏教学专用控件,不另设布局或配色。每课结算复用原有弹窗;完成第三课后点击“开始第 1 关”,进入原来的正式关卡。 ## 入口与进度 教学布局位于 `src/tutorial-levels.js`,作为 `campaign.tutorials` 接入,未插入正式的 `levels` 数组。正式 1–1000 的编号、关卡 ID、直接链接和已完成记录都保持原位。 新玩家无指定关号进入 v0.5 时自动开始教学。未完成的教学可以续玩;有正式关进度的玩家继续原关卡。`?tutorial=1` 至 `?tutorial=3` 明确打开对应教学,`?level=1` 仍直达正式第 1 关。教学使用独立键 `hex-trails-tutorial-v1-v0.5`,完成或重玩教学不计入正式通关数。 ## 已完成的验证 - 正式 `Game`、`validateLevel`、`trace` 和求解器验证全部三课。第二课点击被挡棋子不耗额度;清挡后的新点击立即可用。第三课验证左右两种旋转和两种清盘顺序。 - 本轮 **43 项相关测试通过**,覆盖三课布局与显式 19 格坐标集合、三课衔接、重玩、旧正式关进度、切版本后刷新、从教学进入工坊,以及原快速连点规则。静态构建通过。正式 1000 关的布局和生成流水线未改动。 - 390×844 浏览器正常动画下重新依次完成完整棋盘的三课。第二课挡子与主棋子可连续点击;第三课向右旋转一次,两个箭头保持原位并成功离场。教学期间正式存档保持不变,点击开始第 1 关后只更新当前正式关位置,保留原通关集合。[当前操作记录](tutorial-review/playthrough.json)。旧小棋盘截图与操作证据移至 `tutorial-review/initial-small/`,不作为当前布局的验收证据。 - 检查 320×568 与 1440×1000 的第三课、390×844 的全部三课与选关入口。[尺寸记录](tutorial-review/responsive.json)。这是浏览器视口与实际指针操作验证,不等同于真机手指误触测试。 按用户限定的制作范围,已撤回自行添加的缩放按钮显示、教学控件隐藏、常驻提示及专用布局与配色。43 项相关测试再次通过,包含原提示到时消失的验证。390×844 浏览器确认原有控件显示,前两课旋转禁用、第三课启用,选关使用既有按钮样式且能够切换教学,正式第 1 关也无新增缩放按钮。[恢复现有界面后的画面](tutorial-review/ui-restored-mobile.png)。 以下为恢复界面前的完整棋盘记录,布局与操作验证仍适用,控件样式以最新画面为准:[第一课](tutorial-review/lesson-1-mobile.png) · [第二课](tutorial-review/lesson-2-mobile.png) · [第三课](tutorial-review/lesson-3-mobile.png) · [选关入口](tutorial-review/map-mobile.png) · [小屏](tutorial-review/lesson-3-small.png) · [桌面](tutorial-review/lesson-3-desktop.png)