feat(airport): bind landings to the six visual flats
Entry side is the 60-degree wedge of the port, not the cell-edge direction. Levels regenerated; hint line joins the waiting plane to the on-board path.
This commit is contained in:
+13
-12
@@ -1,6 +1,6 @@
|
||||
# 六角机场实验室
|
||||
|
||||
独立的起降调度原型。前三关是 19 格教学;视觉使用原工程马卡龙方案。不覆盖主线关卡或存档。
|
||||
独立的起降调度原型。前四关是 19 格教学;视觉使用原工程马卡龙方案。不覆盖主线关卡或存档。
|
||||
|
||||
## 运行
|
||||
|
||||
@@ -8,24 +8,25 @@
|
||||
|
||||
点击地面飞机起飞,点击场外停机坪上的飞机降落;左右转每次 60°。成功、失败与旋转都消耗一次。灰色轨道不分颜色;来机匹配彩色专用机位。P 标记表示已停好的来机。它再次起飞后,停到实际出口那条边的停机坪,仍需重新停好。
|
||||
|
||||
板边轨道一直画到托盘外缘并带一道门槛,托盘外的浅色停机坪航线固定不动。当等待机在当前朝向下接得上同色机位时,整条"飞机 → 盘边开口 → 机位"的通道用中性强调色点亮;旋转时通道会亮灭,据此判断能否进场。
|
||||
板边轨道一直画到托盘外缘,不伸出棋盘。托盘外的浅色停机坪航线固定不动。当等待机在当前朝向下接得上同色机位时,盘内通道用中性强调色点亮;旋转时通道会亮灭,据此判断能否进场。
|
||||
|
||||
## 关卡证据
|
||||
|
||||
所有数据冻结在 `levels.js`。`solution` 是最优免费解,`experience` 是制作意图回放;第三关后者演示来机阻挡及再次起飞换侧。
|
||||
所有数据冻结在 `levels.js`。`solution` 是最优免费解,`experience` 是制作意图回放。
|
||||
|
||||
| 关卡 | 格子 | 最少操作 | 初始额度 | 体验回放 | 先清全盘再接机最少操作 | 最优解保留原有飞机 |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| 留一点空间 | 19 | 5 | 8 | 5 | 10 | 3 |
|
||||
| 同色,不同方向 | 19 | 7 | 10 | 7 | 11 | 4 |
|
||||
| 让路与换侧 | 19 | 6 | 13 | 11 | 16 | 6 |
|
||||
| 更大的停机坪 | 37 | 8 | 12 | 8 | 18 | 6 |
|
||||
| 绕一圈再接入 | 37 | 11 | 15 | 11 | 17 | 3 |
|
||||
| 空港全景 | 61 | 10 | 14 | 10 | 20 | 8 |
|
||||
| 留一点空间 | 19 | 1 | 3 | 1 | 4 | 3 |
|
||||
| 同色才停靠 | 19 | 1 | 3 | 1 | 4 | 3 |
|
||||
| 转一下再接入 | 19 | 2 | 4 | 2 | 5 | 3 |
|
||||
| 清障再接入 | 19 | 5 | 7 | 5 | 11 | 4 |
|
||||
| 更大的停机坪 | 37 | 6 | 10 | 6 | 19 | 7 |
|
||||
| 绕一圈再接入 | 37 | 10 | 14 | 10 | 15 | 5 |
|
||||
| 空港全景 | 61 | 8 | 12 | 8 | 18 | 10 |
|
||||
|
||||
前三关为教学。第 4、5 关是半径 3 的练习关,地面 8 架原有飞机。第 6 关把棋盘放大到半径 4(61 格),地面原有飞机增至 13 架,用来承载更多初始棋子,而不是加新规则。最优性通过统一动作成本 BFS 的完整找到最短路径证明;状态上限或深度上限只返回 unknown。第三关的 11 步体验回放保留 5 架原有飞机,与最优解保留 6 架不同。
|
||||
前四关为教学。第 5、6 关是半径 3 的练习关。第 7 关把棋盘放大到半径 4(61 格)。最优性通过统一动作成本 BFS 的完整找到最短路径证明;状态上限或深度上限只返回 unknown。
|
||||
|
||||
每关通过空棋盘、六朝向、六边、每色完整结果的无歧义校验。入口侧按边界端口向外法线归类,名称依次为上方、右上方、右下方、下方、左下方、左上方;角部不同端口各有唯一归属。来机画在对应边外侧的停机坪上,不使用正北等罗盘悬停点。
|
||||
每关通过空棋盘、六朝向、六边、每色完整结果的无歧义校验。入口侧按端口位置落入的平边扇区归类,名称依次为右上方、右方、右下方、左下方、左方、左上方;角部端口只归一边。来机只能从当前停机坪那条平边进场,画在对应边外侧,不使用正北等罗盘悬停点。
|
||||
|
||||
```sh
|
||||
npm run test:airport
|
||||
@@ -35,7 +36,7 @@ npm run airport:practice
|
||||
npm run build:airport
|
||||
```
|
||||
|
||||
教学三关生成器使用固定种子 9172026。练习关生成器使用 9172027,追加两个 37 格关与一个 61 格关,不改写前三关。不会在玩家进入页面时随机生成。
|
||||
教学四关生成器使用固定种子 9172026。练习关生成器使用 9172027,追加两个 37 格关与一个 61 格关,不改写前四关。不会在玩家进入页面时随机生成。
|
||||
|
||||
## 结构
|
||||
|
||||
|
||||
Reference in New Issue
Block a user