chore: connect GitLink repository history
一款无需联网、单局约 2–5 分钟的浏览器光路解谜游戏。玩家旋转 5×5 刻纸瓦片,让左上角火种沿着双向相接的道路,点亮全部瓦片与三座灯塔。
它适合想做短暂专注休息的玩家,也适合作为原生 JavaScript 状态管理、确定性随机生成和无障碍网格交互的轻量示例。
需要 Node.js 20 或更新版本。项目没有第三方依赖,无需执行 npm install。
npm install
npm start
浏览器访问 http://127.0.0.1:4173。ES modules 通常不能通过直接双击 HTML 稳定加载,因此推荐使用随项目提供的本地静态服务器。
npm test npm run check
测试使用 Node.js 内建 test runner,覆盖:
lantern-loop/ ├── index.html # 语义化页面与胜利对话框 ├── styles.css # 纸雕夜灯视觉、响应式与减少动态效果 ├── src/ │ ├── puzzle.js # 纯函数谜题引擎 │ └── game.js # DOM、计步、计时和输入控制 ├── tests/ │ └── puzzle.test.js # 核心规则测试 └── scripts/ └── serve.mjs # 零依赖本地静态服务器
每个瓦片用四位 bitmask 表示北、东、南、西出口。生成器使用暗号派生的伪随机序列,通过深度优先遍历构造一棵覆盖全部格子的树,再独立旋转每块瓦片。解答时只允许沿“当前瓦片有出口且相邻瓦片有反向出口”的边传播灯火。
aria-live
prefers-reduced-motion
请先阅读 CONTRIBUTING.md。漏洞请按 SECURITY.md 中的方式私下报告。
本项目使用 MIT License。
离线运行、单局 2–5 分钟的纸雕灯路旋转解谜游戏。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
灯路回环(Lantern Loop)
一款无需联网、单局约 2–5 分钟的浏览器光路解谜游戏。玩家旋转 5×5 刻纸瓦片,让左上角火种沿着双向相接的道路,点亮全部瓦片与三座灯塔。
它适合想做短暂专注休息的玩家,也适合作为原生 JavaScript 状态管理、确定性随机生成和无障碍网格交互的轻量示例。
项目价值
快速开始
需要 Node.js 20 或更新版本。项目没有第三方依赖,无需执行
npm install。浏览器访问 http://127.0.0.1:4173。ES modules 通常不能通过直接双击 HTML 稳定加载,因此推荐使用随项目提供的本地静态服务器。
玩法
开发与测试
测试使用 Node.js 内建 test runner,覆盖:
目录结构
谜题模型
每个瓦片用四位 bitmask 表示北、东、南、西出口。生成器使用暗号派生的伪随机序列,通过深度优先遍历构造一棵覆盖全部格子的树,再独立旋转每块瓦片。解答时只允许沿“当前瓦片有出口且相邻瓦片有反向出口”的边传播灯火。
无障碍与隐私
aria-live通知;焦点具有高对比描边。prefers-reduced-motion,关闭非必要过渡和完成动画。已知边界
参与贡献
请先阅读 CONTRIBUTING.md。漏洞请按 SECURITY.md 中的方式私下报告。
许可证
本项目使用 MIT License。