feat: add v2 queued taps and free board rotation
This commit is contained in:
@@ -4,6 +4,13 @@
|
||||
|
||||
项目使用原生 JavaScript ES modules 和 Canvas,无第三方运行依赖,无在线字体或 CDN。包含 24 个主线关卡、关卡工坊、求解器、确定性关卡生成器,以及 Cocos Creator 适配示例。
|
||||
|
||||
## 版本
|
||||
|
||||
- [v1](https://zeroplus.fun/games/hextrails/v1.html):首次发布版本,对应 `v1` 分支。
|
||||
- [v2](https://zeroplus.fun/games/hextrails/v2.html):对应 `v2` 分支,支持动画期间连续点击不同棋子,按顺序执行;碰撞清空等待队列,重复点击不重复排队。左右旋转免费。
|
||||
|
||||
两个版本保留同一套 24 关顺序。v2 难度按免费旋转重新计算,因此分数不保证逐关递增。
|
||||
|
||||
## 快速开始
|
||||
|
||||
需要 Node.js 20 或更高版本,以及 Git;无需执行 `npm install`。
|
||||
@@ -25,7 +32,7 @@ npm run dev
|
||||
- 点击棋子,从箭头方向进入轨道;弯道自动转向,交叉处不换轨。
|
||||
- 点击左右旋转按钮,或沿棋盘边缘拖动,将底盘旋转 60°。棋子的位置与箭头方向保持不动,底板格子与轨道配对一起旋转。
|
||||
- 棋子不能穿过其他棋子。碰撞检测覆盖整段运动路径,包括弯道与邻格擦碰;碰撞动画展示接触后退回原位。
|
||||
- 点击棋子或旋转底盘各消耗 1 步,碰撞也扣步。撤销恢复棋盘、棋子、朝向和步数;没有倒计时。
|
||||
- 点击棋子消耗 1 步,碰撞也扣步;左右旋转不消耗步数。撤销恢复棋盘、棋子、朝向和步数;没有倒计时。
|
||||
- 提示会高亮可安全离场的棋子,或建议旋转方向。棋子配色不影响规则。
|
||||
|
||||
主线关卡均经过求解验证,且需要旋转才能完成。所有关卡可自由选择,通关进度保存在当前浏览器。音效使用 Web Audio 合成,首次交互后启用,可在设置中关闭并保存偏好。
|
||||
@@ -94,3 +101,7 @@ Cocos 示例复用规则、碰撞、渲染命令和图集;HTML 控件、文件
|
||||
`cocos/` 是适配示例,不是完整 Creator 工程;原生场景及 Android/iOS 构建尚未完成验收。`docs/ui-layout.json` 是旧版布局快照,不应直接作为当前场景模板。
|
||||
|
||||
更多背景见 [视频与规则分析](docs/video-analysis.md)。
|
||||
|
||||
## 版本发布
|
||||
|
||||
构建后运行 `node scripts/package-release.mjs v2 <唯一资源版本号> <临时输出目录>`,生成 `v2.html` 和独立资源目录。将两者部署到服务器网站根目录的 `games/hextrails/`;入口需使用游戏专用的样式 CSP 和禁缓存策略。先上传资源,最后原子替换 HTML,保留旧资源供回滚。v1 分支固定在首次上线的 `9f8990b`,旧地址 `/games/hextrails.html` 跳转到 v1。v2 使用独立的浏览器进度存储。
|
||||
|
||||
Reference in New Issue
Block a user