初始提交:三玩法 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,204 @@
{
"mode": "03-hex-walls",
"pack": 1,
"title": "教学",
"orientation": "pointy",
"notes": "轴坐标 (q, r),点顶六边形。walls 是格 id 对,必须是真实共用边。格 id 按阅读顺序(先 r 再 q)编号。teach 是设计备注不显示,caption 显示在对局顶部。",
"levels": [
{
"id": "1-1",
"teach": "六边形滑动,邻格自动出步号。无墙。",
"caption": "从 1 滑到旁边的格子",
"cells": [
{ "id": "a", "q": 0, "r": 0, "clue": 1 },
{ "id": "b", "q": 1, "r": 0 },
{ "id": "c", "q": 2, "r": 0 }
],
"walls": []
},
{
"id": "1-2",
"teach": "必须走完所有格,数字要对上。",
"caption": "走完每一格,数字要对上",
"cells": [
{ "id": "a", "q": 0, "r": 0, "clue": 1 },
{ "id": "b", "q": 0, "r": 1 },
{ "id": "c", "q": 0, "r": 2 },
{ "id": "d", "q": 1, "r": 2 },
{ "id": "e", "q": 2, "r": 2, "clue": 5 }
],
"walls": []
},
{
"id": "1-3",
"teach": "第一堵墙。a 和 b 看起来相邻,滑不过去,必须经 c 绕到 b。去墙后有两条解。",
"caption": "条纹是墙,绕开它",
"cells": [
{ "id": "a", "q": 0, "r": 0, "clue": 1 },
{ "id": "b", "q": 1, "r": 0 },
{ "id": "c", "q": 0, "r": 1 },
{ "id": "d", "q": 1, "r": 1, "clue": 4 }
],
"walls": [
["a", "b"]
]
},
{
"id": "1-4",
"teach": "花形 7 格。1 在左下 f,墙 f|g 封住它右边那格;中心 d 是 7 只能最后进,所以第一步只能往上走 c。绕外圈一周最后落中心。去墙后 2 条解。",
"caption": "先看墙和数字,再决定第一步",
"cells": [
{ "id": "a", "q": 0, "r": -1 },
{ "id": "b", "q": 1, "r": -1 },
{ "id": "c", "q": -1, "r": 0 },
{ "id": "d", "q": 0, "r": 0, "clue": 7 },
{ "id": "e", "q": 1, "r": 0 },
{ "id": "f", "q": -1, "r": 1, "clue": 1 },
{ "id": "g", "q": 0, "r": 1 }
],
"walls": [
["f", "g"]
]
},
{
"id": "1-5",
"teach": "中段线索。3 就在 1 右边,却不能直接过去(那样 b=2):必须先下到 e 再折回 b。墙 b|c 堵住“3 之后直走”,逼出 a,e,b,f,c,g,h,d 的之字形。3 个线索全部必要。",
"cells": [
{ "id": "a", "q": 0, "r": 0, "clue": 1 },
{ "id": "b", "q": 1, "r": 0, "clue": 3 },
{ "id": "c", "q": 2, "r": 0 },
{ "id": "d", "q": 3, "r": 0, "clue": 8 },
{ "id": "e", "q": 0, "r": 1 },
{ "id": "f", "q": 1, "r": 1 },
{ "id": "g", "q": 2, "r": 1 },
{ "id": "h", "q": 3, "r": 1 }
],
"walls": [
["b", "c"]
]
},
{
"id": "1-6",
"teach": "空洞 + 两堵墙。左上 1 的下方是洞,只能往右;顶行走到 c 后被墙 b|e 迫使从 c 下到 e,再 f、回 d、g,右侧下到 k,底行从右往左收,9 在 j。去墙后 7 条解。",
"cells": [
{ "id": "a", "q": 0, "r": 0, "clue": 1 },
{ "id": "b", "q": 1, "r": 0 },
{ "id": "c", "q": 2, "r": 0 },
{ "id": "d", "q": 3, "r": 0 },
{ "id": "e", "q": 1, "r": 1 },
{ "id": "f", "q": 2, "r": 1 },
{ "id": "g", "q": 3, "r": 1 },
{ "id": "h", "q": -1, "r": 2 },
{ "id": "i", "q": 0, "r": 2 },
{ "id": "j", "q": 1, "r": 2, "clue": 9 },
{ "id": "k", "q": 2, "r": 2 }
],
"walls": [
["e", "j"],
["b", "e"]
]
},
{
"id": "1-7",
"teach": "先想再画。1 在底行中间 k,旁边的 h 被两堵墙围住(h|i、h|j),直觉先进 h 会把 j 孤立;正解是先往右 l 绕整圈,最后 e=9 → h → g → j。无线索路径 320 条。",
"cells": [
{ "id": "a", "q": 0, "r": 0 },
{ "id": "b", "q": 1, "r": 0 },
{ "id": "c", "q": 2, "r": 0 },
{ "id": "d", "q": 0, "r": 1 },
{ "id": "e", "q": 1, "r": 1, "clue": 9 },
{ "id": "f", "q": 2, "r": 1 },
{ "id": "g", "q": 0, "r": 2 },
{ "id": "h", "q": 1, "r": 2 },
{ "id": "i", "q": 2, "r": 2 },
{ "id": "j", "q": 0, "r": 3 },
{ "id": "k", "q": 1, "r": 3, "clue": 1 },
{ "id": "l", "q": 2, "r": 3 }
],
"walls": [
["h", "i"],
["h", "j"]
]
},
{
"id": "1-8",
"teach": "综合:12 格、3 堵墙、3 个线索。左下 i=1 起手,左上 a=12 收尾;右下 l=6 决定先走底行。e 被 b|e、e|f 夹住只剩上下两个口。去墙后 13 条解。",
"cells": [
{ "id": "a", "q": 0, "r": 0, "clue": 12 },
{ "id": "b", "q": 1, "r": 0 },
{ "id": "c", "q": 2, "r": 0 },
{ "id": "d", "q": 3, "r": 0 },
{ "id": "e", "q": 0, "r": 1 },
{ "id": "f", "q": 1, "r": 1 },
{ "id": "g", "q": 2, "r": 1 },
{ "id": "h", "q": 3, "r": 1 },
{ "id": "i", "q": -1, "r": 2, "clue": 1 },
{ "id": "j", "q": 0, "r": 2 },
{ "id": "k", "q": 1, "r": 2 },
{ "id": "l", "q": 2, "r": 2, "clue": 6 }
],
"walls": [
["f", "k"],
["b", "e"],
["e", "f"]
]
},
{
"id": "1-9",
"teach": "15 格。1 在 g,五个方向都能起手;a=15 说明终点在左上,l=11 在底行决定绕行方向。c|g、i|n、e|i 三堵墙把右侧切成只能单向通过的走廊。去墙后 16 条解。",
"cells": [
{ "id": "a", "q": 0, "r": 0, "clue": 15 },
{ "id": "b", "q": 1, "r": 0 },
{ "id": "c", "q": 2, "r": 0 },
{ "id": "d", "q": 3, "r": 0 },
{ "id": "e", "q": 4, "r": 0 },
{ "id": "f", "q": 0, "r": 1 },
{ "id": "g", "q": 1, "r": 1, "clue": 1 },
{ "id": "h", "q": 2, "r": 1 },
{ "id": "i", "q": 3, "r": 1 },
{ "id": "j", "q": 4, "r": 1 },
{ "id": "k", "q": -1, "r": 2 },
{ "id": "l", "q": 0, "r": 2, "clue": 11 },
{ "id": "m", "q": 1, "r": 2 },
{ "id": "n", "q": 2, "r": 2 },
{ "id": "o", "q": 3, "r": 2 }
],
"walls": [
["c", "g"],
["i", "n"],
["e", "i"]
]
},
{
"id": "1-10",
"teach": "小考:19 格满花盘、4 堵墙、3 个线索。i=1 在内圈左侧,k=14 与 p=10 在右侧内外圈。先上绕到顶行,顺右侧下来,穿过底部回到内圈,最后从左侧收尾到 h。去墙后 26 条解。",
"cells": [
{ "id": "a", "q": 0, "r": -2 },
{ "id": "b", "q": 1, "r": -2 },
{ "id": "c", "q": 2, "r": -2 },
{ "id": "d", "q": -1, "r": -1 },
{ "id": "e", "q": 0, "r": -1 },
{ "id": "f", "q": 1, "r": -1 },
{ "id": "g", "q": 2, "r": -1 },
{ "id": "h", "q": -2, "r": 0 },
{ "id": "i", "q": -1, "r": 0, "clue": 1 },
{ "id": "j", "q": 0, "r": 0 },
{ "id": "k", "q": 1, "r": 0, "clue": 14 },
{ "id": "l", "q": 2, "r": 0 },
{ "id": "m", "q": -2, "r": 1 },
{ "id": "n", "q": -1, "r": 1 },
{ "id": "o", "q": 0, "r": 1 },
{ "id": "p", "q": 1, "r": 1, "clue": 10 },
{ "id": "q", "q": -2, "r": 2 },
{ "id": "r", "q": -1, "r": 2 },
{ "id": "s", "q": 0, "r": 2 }
],
"walls": [
["f", "k"],
["d", "i"],
["k", "l"],
["b", "f"]
]
}
]
}