Restore v0.1 and v0.2 archives with separate progress, publish the curved v0.3 campaign, and document the original 24-level design with reproducible evidence. Refine board presentation and movement, and keep video lab tooling within its own directory.
40 lines
3.7 KiB
Markdown
40 lines
3.7 KiB
Markdown
# 关卡版本
|
|
|
|
在游戏左上角打开选关窗口,通过“关卡版本”切换。首次打开默认使用 v0.3;选择其他版本后会记住选择。各版本有独立的上次选关位置与通关记录。切换时重新开始目标版本上次选择的关卡,不保存进行到一半的棋盘。
|
|
|
|
原始版本的设计理念、案例和逐关结构清单见 [v0.1 · 最初 24 关设计理念](v0.1-design-philosophy.md)。本文记录版本管理;两者共同为后续优化提供参照。
|
|
|
|
| 版本 | 内容 | 关数 | 章节 | 布局来源 |
|
|
| --- | --- | ---: | --- | --- |
|
|
| v0.1 · 最初设计 | 最初制作的完整关卡,保留名称、顺序、轨道、棋子和原离场额度 | 24 | 3 章 × 8 关 | `ef2724b` 的 `levels/campaign.json` |
|
|
| v0.2 · 直线较多版 | 扩展为 48 关时的设计,直线较多 | 48 | 8 章 × 6 关 | `70b021d` 的 `levels/campaign.json` |
|
|
| v0.3 · 弯轨观察版 | 当前的弯轨教学与观察版本 | 48 | 8 章 × 6 关 | `levels/campaign-seeds.json` 生成的当前主线 |
|
|
|
|
版本号指关卡布局。三版统一使用当前界面、碰撞检测、免费旋转、免费失败试路与撤销规则;没有恢复旧版代码或扣除旋转额度的规则。旧版文件的 `moveLimit` 原样保留,游戏主界面仍显示待解棋子数。JSON 内的 `version: 1` 是数据格式版本,与 v0.1 等布局版本号无关。
|
|
|
|
v0.1 的旧闭环与扫掠阻挡也原样保留,可以通过旋转和消除找到解答。24 关与 v0.2 的 48 关均已在当前引擎中求解并完整回放。v0.3 的“每关至少 65% 参考消除路径经过弯道”等发布门槛仅适用于该版,不套用于历史布局。
|
|
|
|
## 归档与生成
|
|
|
|
- `levels/versions/v0.1.json`、`v0.2.json` 是对应 Git 文件的原始字节,不重新序列化。
|
|
- `levels/versions/provenance.json` 记录来源完整提交、Git blob、SHA-256、字节数、关数与回放结果。
|
|
- `npm run levels:versions` 校验归档哈希,生成 `src/levels-archive.js`,供浏览器直接导入。
|
|
- `src/campaign-versions.js` 注册版本、章节、关卡模块与旧存档键;`src/levels.js` 继续暴露最新版本,供生成器、设计指南与 Cocos 示例使用。
|
|
- `npm run levels` 仅重新生成当前主线,再同步历史模块。`npm run build` 校验并同步历史模块,三版均进入静态站点。
|
|
|
|
后续发布新的布局版本时,先将当前主线与出处归档、登记哈希,再在注册表中添加新版本并更新默认版本。为新版本分配新的存档键,不复用旧版完成记录。历史归档保持不变;为历史布局改版应另发版本,不能直接覆盖。
|
|
|
|
## 进度隔离与迁移
|
|
|
|
版本选择保存在 `hex-trails-campaign-version`,各版进度保存在 `hex-trails-campaign-v0.1`、`hex-trails-campaign-v0.2`、`hex-trails-campaign-v0.3`。旧键仅在对应新键不存在时读取,写入新键,不删除或覆盖旧数据。
|
|
|
|
| 目标版本 | 对应旧存档键 |
|
|
| --- | --- |
|
|
| v0.1 | `hex-trails-v2` |
|
|
| v0.2 | `hex-trails-observe-v3-r1`(若存在),否则 `hex-trails-observe-v3` |
|
|
| v0.3 | `hex-trails-observe-v3-r2` |
|
|
|
|
v0.2 与 v0.3 内部关卡 ID 相同但布局不同,完成记录只按版本隔离,不能按 ID 合并。非法版本回到默认版本,越界关卡索引回到该版第一关,完成列表过滤越界值和重复值。浏览器不允许保存时,当前页面仍可切换并保留各版进度,刷新后无法保留。
|
|
|
|
自动测试验证历史文件与模块一致、72 关完整回放、版本数量与章节、默认选择、跨版本隔离、旧存档迁移与异常存储。Cocos 示例默认加载最新主线,本次未实现原生版本选择控件或完成原生实机验证。
|