Six-side aprons, frozen levels, solver, rewards and verify scripts; the edge-runway readability work continues from here.
4.2 KiB
4.2 KiB
六角机场原型验收 · 2026-09-17
规则与关卡
node --test tests/airport.test.js:17 项通过(含贴边停机坪几何)。node scripts/verify-airport.mjs:五关开局免费可解,完整回放通过;每关每色在六朝向、六边均无多结果。- 最优操作 / 初始预算 / 全清后接机最优操作:第 1 关 5 / 8 / 10;第 2 关 7 / 10 / 11;第 3 关 6 / 13 / 16;第 4 关 8 / 12 / 18;第 5 关 11 / 15 / 17;第 6 关 10 / 14 / 20。
- 最优解保留原有飞机分别为 3、4、6、6、3、8 架。第 3 关另有 11 步换侧体验解,保留 5 架。
- 第 1–3 关 19 格教学;第 4–5 关 37 格、各 8 架地面飞机;第 6 关 61 格、13 架地面飞机。
- 体验解检查确实存在“已停靠来机挡住另一来机 → 起飞到新侧 → 重新接入”的过程。
浏览器
- 2026-09-17 贴边改版:页面无控制台错误。来机标签为「可可飞机 in1,上方停机坪待降落」。色名来自马卡龙色库。背景
#F5EFE7,字体 Resource Han Rounded。六关半径 2/2/2/3/3/4。本轮自动化主机在完整按钮回放中途断开;规则回放以测试与airport:verify为准。 - 2026-09-17 放大档位:第 6 关「空港全景」加载后棋盘生成 15 个可点飞机(13 架地面 + 2 架来机),两架来机分别显示在左下方与下方停机坪,剩余操作 14,进度 0 / 2,无控制台错误。截图主机未绘制,改用页面 DOM 与 ARIA 标签核对。
在本地 WebView 中通过页面实际按钮执行,未直接修改游戏状态:
- 第 1 关按 5 步最优解通关,剩余 3 次,保留 3 架原有飞机。
- 第 2 关按 7 步最优解通关,剩余 3 次,保留 4 架原有飞机。
- 第 3 关按 11 步体验解通关,蓝色来机再次起飞后显示东南侧等待,最终剩余 2 次,保留 5 架原有飞机。
- 第 1 关旋转两次后点击受阻来机:次数 6 → 5,提示路线受阻,模型与画面指向第一个阻挡 out4。
- 连续 8 次失败尝试耗尽额度,显示仍有可行路线;“测试补充 +5 次”把额度从 0 加到 5 并保留棋盘。
- 浏览器控制台无错误;此任务测试上下文仅创建
hex-airport-v1存储键。 - 390×844 无横向或纵向溢出。360×640 保留至少 44px 飞机触摸区,无横向溢出,页面允许纵向滚动访问底部控件。
npm run build:airport通过;使用--dist在独立端口提供打包页面,再次通过按钮完成第 1 关,确认模块、图集、Worker 和样例均包含在产物中。
截图做过视觉检查;本报告不声称进行了真人体验、原生 Cocos 或实际广告 SDK 验收。
打包与已有仓库问题
机场专用验证与静态复制流程:npm run build:airport。它校验全部关卡,再使用项目既有静态复制器输出 dist/,不改写历史关卡。完整 npm run build 还包含旧版本历史档案的原始字节校验。
本次全量 node --test:214 项,212 项通过,2 项失败,均指向开始工作前已有的环境/工作区状态:
tests/campaign-versions.test.js的历史档案 SHA 校验失败。v0.1、v0.2、v0.3 工作副本是 CRLF;逐个确认 Git HEAD 原始字节及工作副本仅转换为 LF 后的字节均匹配 provenance 中记录的 SHA。未改写历史文件或降低校验标准。tests/design-packages.test.js的本地链接检查失败:design/README.md引用的根目录AGENTS.md已被删除。初始git status已显示该删除,本次保留,未自行恢复。
npm run build 在同一个 v0.1 原始字节校验处停止。机场静态打包不依赖重新生成这些历史档案。以上问题与新机场测试的通过情况分开报告,不能将全量测试说成全部通过。
当前限制
- 飞机为原型 Canvas 造型,沿用已接受的 UI 图标图集;尚非最终美术资产。
- 奖励接口和幂等逻辑已实现,默认补充明确标注为测试奖励;没有接入真实广告或凭据验证服务。
- 不提供玩家撤销、主动提示、拖动旋转、缩放;只保留本轮批准的首轮按钮交互。
- 只验证三个冻结样例,未证明大规模关卡的丰富度、玩家理解度或广告收益。