初始提交:三玩法 Web 原型与设计文档

- 玩法一 数字一笔:规则库、求解器、26 关、竖屏触摸 Web 原型、测试
- 玩法二 连连气球:连消畅玩版核心、Web 原型、Cocos 球槽组件与导出脚本
- 玩法三 六边一笔:规则库、求解器、10 关 + 转墙实验包、Web 原型、测试
- 产品文档、UI 设计规范、各玩法 GDD / HANDOFF
- 文档移除全部外部参考作引用;删除玩法二 v0 旧稿
This commit is contained in:
cabinw
2026-09-16 14:30:59 +08:00
commit 8026e4628d
169 changed files with 22162 additions and 0 deletions
@@ -0,0 +1,152 @@
{
"mode": "01-number-stroke",
"pack": 1,
"title": "入门",
"notes": "10 关。1-1 到 1-4 是竖直切面必须手做的关;每关只加一个旋钮。坐标原点左上,单位格。全部经 tools/validate.ts 断言唯一解。",
"levels": [
{
"id": "1-1",
"teach": "滑动,邻格自动出步号",
"caption": "从 1 开始,滑到旁边的格",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "b", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 2, "y": 0, "w": 1, "h": 1 }
]
},
{
"id": "1-2",
"teach": "必须走完所有格",
"caption": "走完每一格,数字要对上",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "b", "x": 0, "y": 1, "w": 1, "h": 1 },
{ "id": "c", "x": 0, "y": 2, "w": 1, "h": 1 },
{ "id": "d", "x": 1, "y": 2, "w": 1, "h": 1, "clue": 4 }
]
},
{
"id": "1-3",
"teach": "走错可以退。先往下会错过 3。",
"caption": "走错了,点已走格就能退回",
"cells": [
{ "id": "start", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "a", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 2, "y": 0, "w": 1, "h": 1, "clue": 3 },
{ "id": "d", "x": 1, "y": 1, "w": 1, "h": 1 },
{ "id": "c", "x": 2, "y": 1, "w": 1, "h": 1 }
]
},
{
"id": "1-4",
"teach": "大格只算一步",
"caption": "大格也只算一步",
"cells": [
{ "id": "start", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "a", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "big", "x": 1, "y": 1, "w": 2, "h": 2, "clue": 3 }
]
},
{
"id": "1-5",
"teach": "中段线索。必须先走完顶行,4 才落在右上角。",
"cells": [
{ "id": "start", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "a", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 3, "y": 0, "w": 1, "h": 1, "clue": 4 },
{ "id": "d", "x": 2, "y": 1, "w": 1, "h": 1 },
{ "id": "e", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "f", "x": 2, "y": 2, "w": 1, "h": 1 }
]
},
{
"id": "1-6",
"teach": "空洞。中间缺一格,a 与 f 隔洞不相邻;9 在左边,必须绕环一圈最后到它。先往下走会把 9 提前踩成 3。",
"cells": [
{ "id": "s", "x": 1, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "a", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "t", "x": 0, "y": 1, "w": 1, "h": 1, "clue": 9 },
{ "id": "c", "x": 1, "y": 1, "w": 1, "h": 1 },
{ "id": "d", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "e", "x": 1, "y": 2, "w": 1, "h": 1 },
{ "id": "f", "x": 2, "y": 2, "w": 1, "h": 1 },
{ "id": "g", "x": 3, "y": 2, "w": 1, "h": 1 }
]
},
{
"id": "1-7",
"teach": "先推再画。三处分叉:b 处要走 f 才能让 e=4;k 处要走 g 才能让 g=8;g 处要先取 c,否则 l 被孤立。",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "b", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "e", "x": 0, "y": 1, "w": 1, "h": 1, "clue": 4 },
{ "id": "f", "x": 1, "y": 1, "w": 1, "h": 1 },
{ "id": "g", "x": 2, "y": 1, "w": 1, "h": 1, "clue": 8 },
{ "id": "h", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "i", "x": 0, "y": 2, "w": 1, "h": 1 },
{ "id": "j", "x": 1, "y": 2, "w": 1, "h": 1 },
{ "id": "k", "x": 2, "y": 2, "w": 1, "h": 1 },
{ "id": "l", "x": 3, "y": 2, "w": 1, "h": 1 }
]
},
{
"id": "1-8",
"teach": "2×2 当枢纽。B 有 6 个出口,但只能进出各一次:从 B 出去必须挑 c 或 d(远角),挑 e/f/h/i 都会孤立一侧。h=8 决定顺时针。",
"cells": [
{ "id": "a", "x": 1, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "b", "x": 1, "y": 1, "w": 1, "h": 1 },
{ "id": "c", "x": 0, "y": 2, "w": 1, "h": 1 },
{ "id": "B", "x": 1, "y": 2, "w": 2, "h": 2 },
{ "id": "d", "x": 3, "y": 2, "w": 1, "h": 1 },
{ "id": "e", "x": 0, "y": 3, "w": 1, "h": 1 },
{ "id": "f", "x": 3, "y": 3, "w": 1, "h": 1 },
{ "id": "g", "x": 0, "y": 4, "w": 1, "h": 1 },
{ "id": "h", "x": 1, "y": 4, "w": 1, "h": 1, "clue": 8 },
{ "id": "i", "x": 2, "y": 4, "w": 1, "h": 1 },
{ "id": "j", "x": 3, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "1-9",
"teach": "横长条,出口在长边上。b 紧挨着 1 却要第 6 步才到:只能从长条 H 的下边进、上边出(h→H→b),先绕左下角。",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "b", "x": 1, "y": 0, "w": 1, "h": 1, "clue": 6 },
{ "id": "c", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "e", "x": 0, "y": 1, "w": 1, "h": 1 },
{ "id": "H", "x": 1, "y": 1, "w": 2, "h": 1 },
{ "id": "f", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "g", "x": 0, "y": 2, "w": 1, "h": 1 },
{ "id": "h", "x": 1, "y": 2, "w": 1, "h": 1 },
{ "id": "i", "x": 2, "y": 2, "w": 1, "h": 1 },
{ "id": "j", "x": 3, "y": 2, "w": 1, "h": 1 }
]
},
{
"id": "1-10",
"teach": "小考:2×2 + 竖长条 + 空洞。顶行直走到 e 只有 5 步,e=6 要求多垫一步——从 b 下到 B 再回 c(a,b,B,c,d,e)。之后绕右下回到左侧,V 收尾。陷阱:a,V,B,c 也能让 e=6,但 b 会被孤立。",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "b", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "e", "x": 4, "y": 0, "w": 1, "h": 1, "clue": 6 },
{ "id": "V", "x": 0, "y": 1, "w": 1, "h": 2 },
{ "id": "B", "x": 1, "y": 1, "w": 2, "h": 2 },
{ "id": "f", "x": 4, "y": 1, "w": 1, "h": 1 },
{ "id": "g", "x": 3, "y": 2, "w": 1, "h": 1 },
{ "id": "h", "x": 4, "y": 2, "w": 1, "h": 1 },
{ "id": "i", "x": 0, "y": 3, "w": 1, "h": 1 },
{ "id": "j", "x": 1, "y": 3, "w": 1, "h": 1 },
{ "id": "k", "x": 2, "y": 3, "w": 1, "h": 1 },
{ "id": "l", "x": 3, "y": 3, "w": 1, "h": 1 }
]
}
]
}
@@ -0,0 +1,247 @@
{
"mode": "01-number-stroke",
"pack": 2,
"title": "进阶",
"notes": "10 关,tools/generate.ts 自动生成(seed=43)+ 人工过目。15+ 格、俄罗斯方块异形格、开局 5~7 步内有引导线索、之后靠步号差上难度,部分关不带线索 1。",
"levels": [
{
"id": "2-1",
"teach": "自动生成 seed=43。N=16 多单位格=3(异形2) 空洞=0 无线索路径=230 线索=1/7/14 步号差=6/7/2 难度分=75.5。作者解: d → c → b → a → e → A → f → B → g → C → j → m → l → i → h → k",
"cells": [
{ "id": "A", "x": 0, "y": 0, "w": 2, "h": 3, "shape": [[0,0],[0,1],[0,2],[1,2]] },
{ "id": "a", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 4, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "e", "x": 1, "y": 1, "w": 1, "h": 1 },
{ "id": "B", "x": 2, "y": 1, "w": 3, "h": 2, "shape": [[2,0],[1,0],[0,0],[1,1]] },
{ "id": "f", "x": 2, "y": 2, "w": 1, "h": 1, "clue": 7 },
{ "id": "g", "x": 4, "y": 2, "w": 1, "h": 1 },
{ "id": "h", "x": 0, "y": 3, "w": 1, "h": 1 },
{ "id": "i", "x": 1, "y": 3, "w": 1, "h": 1, "clue": 14 },
{ "id": "j", "x": 2, "y": 3, "w": 1, "h": 1 },
{ "id": "C", "x": 3, "y": 3, "w": 2, "h": 2 },
{ "id": "k", "x": 0, "y": 4, "w": 1, "h": 1 },
{ "id": "l", "x": 1, "y": 4, "w": 1, "h": 1 },
{ "id": "m", "x": 2, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "2-2",
"teach": "自动生成 seed=43。N=14 多单位格=2(异形1) 空洞=0 无线索路径=296 线索=1/4/12 步号差=3/8/2 难度分=79.2。作者解: e → d → h → i → j → k → l → B → b → a → A → c → g → f",
"cells": [
{ "id": "A", "x": 0, "y": 0, "w": 3, "h": 3 },
{ "id": "a", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 4, "y": 0, "w": 1, "h": 1 },
{ "id": "B", "x": 3, "y": 1, "w": 2, "h": 3, "shape": [[1,2],[1,1],[1,0],[0,0]] },
{ "id": "c", "x": 3, "y": 2, "w": 1, "h": 1, "clue": 12 },
{ "id": "d", "x": 0, "y": 3, "w": 1, "h": 1 },
{ "id": "e", "x": 1, "y": 3, "w": 1, "h": 1, "clue": 1 },
{ "id": "f", "x": 2, "y": 3, "w": 1, "h": 1 },
{ "id": "g", "x": 3, "y": 3, "w": 1, "h": 1 },
{ "id": "h", "x": 0, "y": 4, "w": 1, "h": 1 },
{ "id": "i", "x": 1, "y": 4, "w": 1, "h": 1, "clue": 4 },
{ "id": "j", "x": 2, "y": 4, "w": 1, "h": 1 },
{ "id": "k", "x": 3, "y": 4, "w": 1, "h": 1 },
{ "id": "l", "x": 4, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "2-3",
"teach": "自动生成 seed=43。N=18 多单位格=2(异形2) 空洞=1 无线索路径=600+ 线索=1/4/8/16 步号差=3/4/8/2 难度分=82.5。作者解: k → o → p → l → h → g → e → A → b → a → c → B → d → f → j → i → m → n",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "A", "x": 2, "y": 0, "w": 3, "h": 2, "shape": [[0,0],[1,0],[2,0],[2,1]], "clue": 8 },
{ "id": "B", "x": 0, "y": 1, "w": 2, "h": 3, "shape": [[0,1],[0,2],[1,0],[1,1]] },
{ "id": "c", "x": 0, "y": 1, "w": 1, "h": 1 },
{ "id": "d", "x": 2, "y": 1, "w": 1, "h": 1 },
{ "id": "e", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "f", "x": 2, "y": 2, "w": 1, "h": 1 },
{ "id": "g", "x": 3, "y": 2, "w": 1, "h": 1 },
{ "id": "h", "x": 4, "y": 2, "w": 1, "h": 1 },
{ "id": "i", "x": 1, "y": 3, "w": 1, "h": 1, "clue": 16 },
{ "id": "j", "x": 2, "y": 3, "w": 1, "h": 1 },
{ "id": "k", "x": 3, "y": 3, "w": 1, "h": 1, "clue": 1 },
{ "id": "l", "x": 4, "y": 3, "w": 1, "h": 1, "clue": 4 },
{ "id": "m", "x": 1, "y": 4, "w": 1, "h": 1 },
{ "id": "n", "x": 2, "y": 4, "w": 1, "h": 1 },
{ "id": "o", "x": 3, "y": 4, "w": 1, "h": 1 },
{ "id": "p", "x": 4, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "2-4",
"teach": "自动生成 seed=43。N=15 多单位格=2(异形0) 空洞=1 无线索路径=144 线索=1/6/15 步号差=5/9/0 难度分=85.8。作者解: a → b → c → d → A → m → l → k → j → B → i → h → f → e → g",
"cells": [
{ "id": "a", "x": 1, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "b", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 4, "y": 0, "w": 1, "h": 1 },
{ "id": "e", "x": 0, "y": 1, "w": 1, "h": 1 },
{ "id": "f", "x": 1, "y": 1, "w": 1, "h": 1 },
{ "id": "A", "x": 2, "y": 1, "w": 3, "h": 3 },
{ "id": "g", "x": 0, "y": 2, "w": 1, "h": 1, "clue": 15 },
{ "id": "h", "x": 1, "y": 2, "w": 1, "h": 1 },
{ "id": "B", "x": 0, "y": 3, "w": 1, "h": 2 },
{ "id": "i", "x": 1, "y": 3, "w": 1, "h": 1 },
{ "id": "j", "x": 1, "y": 4, "w": 1, "h": 1 },
{ "id": "k", "x": 2, "y": 4, "w": 1, "h": 1 },
{ "id": "l", "x": 3, "y": 4, "w": 1, "h": 1 },
{ "id": "m", "x": 4, "y": 4, "w": 1, "h": 1, "clue": 6 }
]
},
{
"id": "2-5",
"teach": "自动生成 seed=43。N=16 多单位格=3(异形1) 空洞=0 无线索路径=600+ 线索=1/6/15 步号差=5/9/1 难度分=91.6。作者解: j → i → f → b → c → A → a → B → e → h → m → l → k → C → g → d",
"cells": [
{ "id": "A", "x": 0, "y": 0, "w": 2, "h": 2, "clue": 6 },
{ "id": "a", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "B", "x": 3, "y": 0, "w": 2, "h": 2 },
{ "id": "C", "x": 1, "y": 1, "w": 2, "h": 3, "shape": [[1,0],[1,1],[1,2],[0,2]] },
{ "id": "b", "x": 0, "y": 2, "w": 1, "h": 1 },
{ "id": "c", "x": 1, "y": 2, "w": 1, "h": 1 },
{ "id": "d", "x": 3, "y": 2, "w": 1, "h": 1 },
{ "id": "e", "x": 4, "y": 2, "w": 1, "h": 1 },
{ "id": "f", "x": 0, "y": 3, "w": 1, "h": 1 },
{ "id": "g", "x": 3, "y": 3, "w": 1, "h": 1, "clue": 15 },
{ "id": "h", "x": 4, "y": 3, "w": 1, "h": 1 },
{ "id": "i", "x": 0, "y": 4, "w": 1, "h": 1 },
{ "id": "j", "x": 1, "y": 4, "w": 1, "h": 1, "clue": 1 },
{ "id": "k", "x": 2, "y": 4, "w": 1, "h": 1 },
{ "id": "l", "x": 3, "y": 4, "w": 1, "h": 1 },
{ "id": "m", "x": 4, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "2-6",
"teach": "自动生成 seed=43。N=18 多单位格=2(异形0) 空洞=1 无线索路径=128 线索=1/4/8 步号差=3/4/10 难度分=96.2。作者解: e → d → c → g → A → j → k → l → m → p → o → n → B → h → i → f → b → a",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "e", "x": 4, "y": 0, "w": 1, "h": 1, "clue": 1 },
{ "id": "f", "x": 1, "y": 1, "w": 1, "h": 1 },
{ "id": "g", "x": 2, "y": 1, "w": 1, "h": 1, "clue": 4 },
{ "id": "A", "x": 3, "y": 1, "w": 2, "h": 2 },
{ "id": "h", "x": 0, "y": 2, "w": 1, "h": 1 },
{ "id": "i", "x": 1, "y": 2, "w": 1, "h": 1 },
{ "id": "j", "x": 2, "y": 2, "w": 1, "h": 1 },
{ "id": "B", "x": 0, "y": 3, "w": 2, "h": 2 },
{ "id": "k", "x": 2, "y": 3, "w": 1, "h": 1 },
{ "id": "l", "x": 3, "y": 3, "w": 1, "h": 1, "clue": 8 },
{ "id": "m", "x": 4, "y": 3, "w": 1, "h": 1 },
{ "id": "n", "x": 2, "y": 4, "w": 1, "h": 1 },
{ "id": "o", "x": 3, "y": 4, "w": 1, "h": 1 },
{ "id": "p", "x": 4, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "2-7",
"teach": "自动生成 seed=43。N=21 多单位格=2(异形0) 空洞=0 无线索路径=600+ 线索=1/7/17 步号差=6/10/4 难度分=103.1。作者解: q → p → o → B → k → l → h → g → A → d → a → b → c → f → e → i → m → r → s → n → j",
"cells": [
{ "id": "A", "x": 0, "y": 0, "w": 2, "h": 2 },
{ "id": "a", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 4, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 2, "y": 1, "w": 1, "h": 1 },
{ "id": "e", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "f", "x": 4, "y": 1, "w": 1, "h": 1 },
{ "id": "B", "x": 0, "y": 2, "w": 1, "h": 2 },
{ "id": "g", "x": 1, "y": 2, "w": 1, "h": 1 },
{ "id": "h", "x": 2, "y": 2, "w": 1, "h": 1, "clue": 7 },
{ "id": "i", "x": 3, "y": 2, "w": 1, "h": 1 },
{ "id": "j", "x": 4, "y": 2, "w": 1, "h": 1 },
{ "id": "k", "x": 1, "y": 3, "w": 1, "h": 1 },
{ "id": "l", "x": 2, "y": 3, "w": 1, "h": 1 },
{ "id": "m", "x": 3, "y": 3, "w": 1, "h": 1, "clue": 17 },
{ "id": "n", "x": 4, "y": 3, "w": 1, "h": 1 },
{ "id": "o", "x": 0, "y": 4, "w": 1, "h": 1 },
{ "id": "p", "x": 1, "y": 4, "w": 1, "h": 1 },
{ "id": "q", "x": 2, "y": 4, "w": 1, "h": 1, "clue": 1 },
{ "id": "r", "x": 3, "y": 4, "w": 1, "h": 1 },
{ "id": "s", "x": 4, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "2-8",
"teach": "自动生成 seed=43。N=19 多单位格=2(异形2) 空洞=0 无线索路径=600+ 线索=3/5/15/17(无线索1) 步号差=2/10/2/2 难度分=109.7。作者解: i → d → e → j → l → k → n → o → q → p → B → m → A → h → c → b → a → f → g",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1, "clue": 17 },
{ "id": "b", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 2, "y": 0, "w": 1, "h": 1, "clue": 15 },
{ "id": "d", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "e", "x": 4, "y": 0, "w": 1, "h": 1, "clue": 3 },
{ "id": "f", "x": 0, "y": 1, "w": 1, "h": 1 },
{ "id": "g", "x": 1, "y": 1, "w": 1, "h": 1 },
{ "id": "h", "x": 2, "y": 1, "w": 1, "h": 1 },
{ "id": "i", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "j", "x": 4, "y": 1, "w": 1, "h": 1 },
{ "id": "A", "x": 0, "y": 2, "w": 3, "h": 2, "shape": [[0,0],[1,0],[2,0],[2,1]] },
{ "id": "k", "x": 3, "y": 2, "w": 1, "h": 1 },
{ "id": "l", "x": 4, "y": 2, "w": 1, "h": 1, "clue": 5 },
{ "id": "B", "x": 0, "y": 3, "w": 3, "h": 2, "shape": [[2,1],[1,1],[0,1],[1,0]] },
{ "id": "m", "x": 0, "y": 3, "w": 1, "h": 1 },
{ "id": "n", "x": 3, "y": 3, "w": 1, "h": 1 },
{ "id": "o", "x": 4, "y": 3, "w": 1, "h": 1 },
{ "id": "p", "x": 3, "y": 4, "w": 1, "h": 1 },
{ "id": "q", "x": 4, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "2-9",
"teach": "自动生成 seed=43。N=21 多单位格=2(异形0) 空洞=0 无线索路径=600+ 线索=1/7/20 步号差=6/13/1 难度分=124.1。作者解: f → c → b → e → A → a → d → g → j → o → p → q → r → s → n → i → B → m → l → k → h",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1 },
{ "id": "A", "x": 1, "y": 0, "w": 2, "h": 2 },
{ "id": "b", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 4, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 0, "y": 1, "w": 1, "h": 1, "clue": 7 },
{ "id": "e", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "f", "x": 4, "y": 1, "w": 1, "h": 1, "clue": 1 },
{ "id": "g", "x": 0, "y": 2, "w": 1, "h": 1 },
{ "id": "h", "x": 1, "y": 2, "w": 1, "h": 1 },
{ "id": "B", "x": 2, "y": 2, "w": 2, "h": 1 },
{ "id": "i", "x": 4, "y": 2, "w": 1, "h": 1 },
{ "id": "j", "x": 0, "y": 3, "w": 1, "h": 1 },
{ "id": "k", "x": 1, "y": 3, "w": 1, "h": 1, "clue": 20 },
{ "id": "l", "x": 2, "y": 3, "w": 1, "h": 1 },
{ "id": "m", "x": 3, "y": 3, "w": 1, "h": 1 },
{ "id": "n", "x": 4, "y": 3, "w": 1, "h": 1 },
{ "id": "o", "x": 0, "y": 4, "w": 1, "h": 1 },
{ "id": "p", "x": 1, "y": 4, "w": 1, "h": 1 },
{ "id": "q", "x": 2, "y": 4, "w": 1, "h": 1 },
{ "id": "r", "x": 3, "y": 4, "w": 1, "h": 1 },
{ "id": "s", "x": 4, "y": 4, "w": 1, "h": 1 }
]
},
{
"id": "2-10",
"teach": "自动生成 seed=43。N=21 多单位格=2(异形0) 空洞=0 无线索路径=600+ 线索=1/5/21 步号差=4/16/0 难度分=145.1。作者解: q → l → m → r → B → s → p → k → h → e → d → c → b → a → A → f → g → j → o → n → i",
"cells": [
{ "id": "a", "x": 0, "y": 0, "w": 1, "h": 1 },
{ "id": "b", "x": 1, "y": 0, "w": 1, "h": 1 },
{ "id": "c", "x": 2, "y": 0, "w": 1, "h": 1 },
{ "id": "d", "x": 3, "y": 0, "w": 1, "h": 1 },
{ "id": "e", "x": 4, "y": 0, "w": 1, "h": 1 },
{ "id": "A", "x": 0, "y": 1, "w": 2, "h": 2 },
{ "id": "f", "x": 2, "y": 1, "w": 1, "h": 1 },
{ "id": "g", "x": 3, "y": 1, "w": 1, "h": 1 },
{ "id": "h", "x": 4, "y": 1, "w": 1, "h": 1 },
{ "id": "i", "x": 2, "y": 2, "w": 1, "h": 1, "clue": 21 },
{ "id": "j", "x": 3, "y": 2, "w": 1, "h": 1 },
{ "id": "k", "x": 4, "y": 2, "w": 1, "h": 1 },
{ "id": "l", "x": 0, "y": 3, "w": 1, "h": 1 },
{ "id": "m", "x": 1, "y": 3, "w": 1, "h": 1 },
{ "id": "n", "x": 2, "y": 3, "w": 1, "h": 1 },
{ "id": "o", "x": 3, "y": 3, "w": 1, "h": 1 },
{ "id": "p", "x": 4, "y": 3, "w": 1, "h": 1 },
{ "id": "q", "x": 0, "y": 4, "w": 1, "h": 1, "clue": 1 },
{ "id": "r", "x": 1, "y": 4, "w": 1, "h": 1 },
{ "id": "B", "x": 2, "y": 4, "w": 2, "h": 1, "clue": 5 },
{ "id": "s", "x": 4, "y": 4, "w": 1, "h": 1 }
]
}
]
}
@@ -0,0 +1,650 @@
{
"mode": "01-number-stroke",
"pack": 3,
"title": "奇与偶",
"notes": "6 关体验包。奇/偶约束整块的路径步号,不是面积;每条奇偶线索都经删除校验证明参与唯一性。",
"levels": [
{
"id": "3-1",
"caption": "偶:走到这里时,步数要是 2、4、6…",
"teach": "奇偶体验;复用 1-4 的几何,重新配置线索。作者解: start → a → big → b",
"cells": [
{
"id": "start",
"x": 0,
"y": 0,
"w": 1,
"h": 1,
"clue": 1
},
{
"id": "a",
"x": 1,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "b",
"x": 2,
"y": 0,
"w": 1,
"h": 1,
"parity": "even"
},
{
"id": "big",
"x": 1,
"y": 1,
"w": 2,
"h": 2
}
]
},
{
"id": "3-2",
"caption": "奇:步数要是 1、3、5…;大块只算一步",
"teach": "奇偶体验;原创 3×3 教学盘。作者解: start → a → big → b → c → end",
"cells": [
{
"id": "start",
"x": 0,
"y": 0,
"w": 1,
"h": 1,
"clue": 1
},
{
"id": "a",
"x": 1,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "b",
"x": 2,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "c",
"x": 3,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "big",
"x": 1,
"y": 1,
"w": 3,
"h": 3,
"parity": "odd"
},
{
"id": "end",
"x": 4,
"y": 0,
"w": 1,
"h": 1
}
]
},
{
"id": "3-3",
"caption": "先数步数,再决定从大块哪边出去",
"teach": "奇偶体验;复用 1-8 的几何,重新配置线索。作者解: a → b → B → d → f → j → i → h → g → e → c",
"cells": [
{
"id": "a",
"x": 1,
"y": 0,
"w": 1,
"h": 1,
"clue": 1
},
{
"id": "b",
"x": 1,
"y": 1,
"w": 1,
"h": 1
},
{
"id": "c",
"x": 0,
"y": 2,
"w": 1,
"h": 1,
"parity": "odd"
},
{
"id": "B",
"x": 1,
"y": 2,
"w": 2,
"h": 2
},
{
"id": "d",
"x": 3,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "e",
"x": 0,
"y": 3,
"w": 1,
"h": 1
},
{
"id": "f",
"x": 3,
"y": 3,
"w": 1,
"h": 1
},
{
"id": "g",
"x": 0,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "h",
"x": 1,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "i",
"x": 2,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "j",
"x": 3,
"y": 4,
"w": 1,
"h": 1
}
]
},
{
"id": "3-4",
"caption": "奇偶线索和数字线索要同时满足",
"teach": "奇偶体验;复用 2-1 的几何,重新配置线索。作者解: d → c → b → a → e → A → f → B → g → C → j → m → l → i → h → k",
"cells": [
{
"id": "A",
"x": 0,
"y": 0,
"w": 2,
"h": 3,
"shape": [
[
0,
0
],
[
0,
1
],
[
0,
2
],
[
1,
2
]
],
"parity": "even"
},
{
"id": "a",
"x": 1,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "b",
"x": 2,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "c",
"x": 3,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "d",
"x": 4,
"y": 0,
"w": 1,
"h": 1,
"clue": 1
},
{
"id": "e",
"x": 1,
"y": 1,
"w": 1,
"h": 1
},
{
"id": "B",
"x": 2,
"y": 1,
"w": 3,
"h": 2,
"shape": [
[
2,
0
],
[
1,
0
],
[
0,
0
],
[
1,
1
]
]
},
{
"id": "f",
"x": 2,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "g",
"x": 4,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "h",
"x": 0,
"y": 3,
"w": 1,
"h": 1
},
{
"id": "i",
"x": 1,
"y": 3,
"w": 1,
"h": 1,
"clue": 14
},
{
"id": "j",
"x": 2,
"y": 3,
"w": 1,
"h": 1,
"parity": "odd"
},
{
"id": "C",
"x": 3,
"y": 3,
"w": 2,
"h": 2
},
{
"id": "k",
"x": 0,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "l",
"x": 1,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "m",
"x": 2,
"y": 4,
"w": 1,
"h": 1
}
]
},
{
"id": "3-5",
"caption": "先看奇偶,再安排绕行的顺序",
"teach": "奇偶体验;复用 2-3 的几何,重新配置线索。作者解: k → o → p → l → h → g → e → A → b → a → c → B → d → f → j → i → m → n",
"cells": [
{
"id": "a",
"x": 0,
"y": 0,
"w": 1,
"h": 1,
"parity": "even"
},
{
"id": "b",
"x": 1,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "A",
"x": 2,
"y": 0,
"w": 3,
"h": 2,
"shape": [
[
0,
0
],
[
1,
0
],
[
2,
0
],
[
2,
1
]
]
},
{
"id": "B",
"x": 0,
"y": 1,
"w": 2,
"h": 3,
"shape": [
[
0,
1
],
[
0,
2
],
[
1,
0
],
[
1,
1
]
]
},
{
"id": "c",
"x": 0,
"y": 1,
"w": 1,
"h": 1
},
{
"id": "d",
"x": 2,
"y": 1,
"w": 1,
"h": 1
},
{
"id": "e",
"x": 3,
"y": 1,
"w": 1,
"h": 1,
"parity": "odd"
},
{
"id": "f",
"x": 2,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "g",
"x": 3,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "h",
"x": 4,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "i",
"x": 1,
"y": 3,
"w": 1,
"h": 1,
"clue": 16
},
{
"id": "j",
"x": 2,
"y": 3,
"w": 1,
"h": 1
},
{
"id": "k",
"x": 3,
"y": 3,
"w": 1,
"h": 1,
"clue": 1
},
{
"id": "l",
"x": 4,
"y": 3,
"w": 1,
"h": 1
},
{
"id": "m",
"x": 1,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "n",
"x": 2,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "o",
"x": 3,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "p",
"x": 4,
"y": 4,
"w": 1,
"h": 1
}
]
},
{
"id": "3-6",
"caption": "两个奇数格,中间要隔几步?",
"teach": "奇偶体验;复用 2-6 的几何,重新配置线索。作者解: e → d → c → g → A → j → k → l → m → p → o → n → B → h → i → f → b → a",
"cells": [
{
"id": "a",
"x": 0,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "b",
"x": 1,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "c",
"x": 2,
"y": 0,
"w": 1,
"h": 1,
"parity": "odd"
},
{
"id": "d",
"x": 3,
"y": 0,
"w": 1,
"h": 1
},
{
"id": "e",
"x": 4,
"y": 0,
"w": 1,
"h": 1,
"clue": 1
},
{
"id": "f",
"x": 1,
"y": 1,
"w": 1,
"h": 1
},
{
"id": "g",
"x": 2,
"y": 1,
"w": 1,
"h": 1
},
{
"id": "A",
"x": 3,
"y": 1,
"w": 2,
"h": 2,
"parity": "odd"
},
{
"id": "h",
"x": 0,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "i",
"x": 1,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "j",
"x": 2,
"y": 2,
"w": 1,
"h": 1
},
{
"id": "B",
"x": 0,
"y": 3,
"w": 2,
"h": 2
},
{
"id": "k",
"x": 2,
"y": 3,
"w": 1,
"h": 1
},
{
"id": "l",
"x": 3,
"y": 3,
"w": 1,
"h": 1
},
{
"id": "m",
"x": 4,
"y": 3,
"w": 1,
"h": 1
},
{
"id": "n",
"x": 2,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "o",
"x": 3,
"y": 4,
"w": 1,
"h": 1
},
{
"id": "p",
"x": 4,
"y": 4,
"w": 1,
"h": 1
}
]
}
]
}