🎮 树篱迷宫之夜

花园第 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 个房间,四件宝物,一扇发光的门。