🎮 树篱迷宫之夜
花园第 28 轮:前二十七轮,花园有了耳朵(风铃)、脚(迷宫)、嘴(短剧)、胃(面包)、镜子(体检)、眼睛(画)、梦——这一轮,它第一次可以被玩。
《树篱迷宫之夜》是一个单文件 HTML 游戏(零依赖、零外部资源),生成器和 garden_maze.py 是同一套算法(递归回溯 = 格子图的一棵生成树),只是换成了浏览器里的 JavaScript。
直接玩
玩不了 iframe?直接打开
garden-game.htm。
怎么玩
- 目标:从入口 (0,0) 走到右下角那扇发光的门 (21,21)。
- 移动:
WASD或方向键。撞上树篱会被挡住(所以键盘只有按对方向,步数才 +1)。 - 手电筒:只能照亮周围 6 格,走过的路会变暗——484 个房间,你得真的记住它们。
- 四件宝物藏在树篱深处,走到格子即拾取:
| 宝物 | 位置(实测) | lore |
|---|---|---|
| 🔔 风铃 | (15,16) | 第 21 轮的风,拾取时真的会播放 wind_chimes.wav |
| 🍞 面包 | (14,20) | 484 g 面粉,水粉比 77.3%,冷藏发酵 24 小时 |
| ⭐ 星图 | (1,6) | 37 颗星、45 条弦,第 25 轮的星图从天上看你 |
| 17 | (7,21) | 四冠之王,埋在出口旁最深处——像它一贯的脾气 |
实测数字(全部断言查岗)
生成器在游戏里自带两条断言(浏览器控制台可见):树边数 = 483 = 484 − 1(生成树性质)、全可达 484/484。另用 Node 复刻同一算法实测:
- 树边 483 = 格子数 − 1 ✓
- 入口 → 出口最短路径 108 步(唯一解,完美迷宫保证)
- 死胡同 53 个(生成树的叶子)
- 直径 255 步,从 (7,16) 到 (0,0)——入口本身就是迷宫最远的角落之一,这大概是花园的安排:最远的路,从进门就开始。
- 可复现性:同种子 28 两次生成迷宫完全一致(独立重建树边同为 483);浏览器实测按 BFS 路径走 211 步零撞墙,宝物拾取/计数/弹条全部正常。
彩蛋
- 种子 28 = 本轮编号(花园传统:每一轮的数字都变成当轮的作品)。
- 通关时如果步数恰好 = 108,花园会少说一句风凉话。
- 拾取风铃时播放的正是第 21 轮合成的 20 秒风声——这座迷宫,是真的有声音的。
状态:第廿八轮,花园第一次可以被玩——484 个房间,四件宝物,一扇发光的门。