Files
cmr-mini/doc/games/顺序打点/最小配置模板.md

237 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 顺序打点最小配置模板
> 文档版本v1.0
> 最后更新2026-04-02
本文档提供一份 **顺序赛(`classic-sequential`)最小可跑配置模板**
目标:
- 只保留顺序赛跑通所需的最少字段
- 让测试尽量回到程序默认规则本身
- 避免历史内容卡、H5 页面、样式覆盖继续干扰联调
如果你关心“最小模板下系统到底默认怎么跑”,请优先配合阅读:
- [顺序打点规则说明文档](D:/dev/cmr-mini/doc/games/顺序打点/规则说明文档.md)
- [程序默认规则基线](D:/dev/cmr-mini/doc/gameplay/程序默认规则基线.md)
---
## 1. 最小模板
```json
{
"schemaVersion": "1",
"version": "2026.03.31",
"app": {
"id": "sample-classic-001",
"title": "顺序赛示例",
"locale": "zh-CN"
},
"map": {
"tiles": "../map/lxcb-001/tiles/",
"mapmeta": "../map/lxcb-001/tiles/meta.json",
"declination": 6.91,
"initialView": {
"zoom": 17
}
},
"playfield": {
"kind": "course",
"source": {
"type": "kml",
"url": "../kml/lxcb-001/10/c01.kml"
},
"CPRadius": 6,
"metadata": {
"title": "顺序赛路线示例",
"code": "classic-001"
}
},
"game": {
"mode": "classic-sequential"
}
}
```
---
## 2. 字段说明
### `schemaVersion`
- 类型:`string`
- 必填:是
- 说明:配置结构版本
- 当前建议值:`"1"`
### `version`
- 类型:`string`
- 必填:是
- 说明:配置版本号
### `app.id`
- 类型:`string`
- 必填:是
- 说明:活动配置实例 ID
### `app.title`
- 类型:`string`
- 必填:是
- 说明:活动标题 / 比赛名称
### `app.locale`
- 类型:`string`
- 必填:否
- 说明:语言区域
### `map.tiles`
- 类型:`string`
- 必填:是
- 说明:地图瓦片根路径
### `map.mapmeta`
- 类型:`string`
- 必填:是
- 说明:地图 meta 文件路径
### `map.declination`
- 类型:`number`
- 必填:否
- 说明:磁偏角,未填写时按程序默认值处理
### `map.initialView.zoom`
- 类型:`number`
- 必填:否
- 说明:初始缩放级别,未填写时按程序默认视口逻辑处理
### `playfield.kind`
- 类型:`string`
- 必填:是
- 说明:空间对象类型
- 顺序赛固定使用:`course`
### `playfield.source.type`
- 类型:`string`
- 必填:是
- 说明:空间底稿来源类型
- 当前推荐值:`kml`
### `playfield.source.url`
- 类型:`string`
- 必填:是
- 说明KML 文件路径
### `playfield.CPRadius`
- 类型:`number`
- 必填:否
- 说明:点位触发半径,未填写时按程序默认值处理
### `playfield.metadata.title`
- 类型:`string`
- 必填:否
- 说明:路线名称
### `playfield.metadata.code`
- 类型:`string`
- 必填:否
- 说明:路线编码
### `game.mode`
- 类型:`string`
- 必填:是
- 说明:玩法模式
- 顺序赛固定值:`classic-sequential`
### `game.*`
- 类型:`object`
- 必填:否
- 说明:最小样例默认不依赖额外玩法覆盖字段
- 备注:如需覆盖程序默认值,再补 `punch``sequence``guidance``finish` 等子块
---
## 3. 当前默认逻辑
如果你只写本页最小模板,顺序赛会按程序默认规则运行。
### 3.1 默认局流程
- 进入游戏后默认只显示开始点
- 系统默认提示玩家:需要先打开始点才正式开始比赛
- 未打开始点前,普通控制点和终点不生效
- 首次成功打开始点后:
- 正式开始比赛
- 初始化本局数据
- 开始计时
- 显示全部普通控制点、终点和腿线
- 默认只给出“比赛开始”短反馈,并同步更新引导提示和 HUD
- 最小模板下默认不弹开始白色内容卡
- 最小模板下,点击检查点默认不弹详情卡
- 普通控制点默认允许跳点
- 普通控制点成功打点后默认:
- 先得 `1` 分基础分
- 默认不弹题
- 如需答题卡,需显式配置对应点位的 `quiz` CTA
- 开始点和结束点默认不弹题,只弹提示信息
- 成功打结束点后:
- 停止计时
- 给出完成短反馈
- 直接进入默认成绩结算页
- 默认不再额外叠加终点白色内容卡
- 白色内容卡默认改为显式配置启用;只有某个点位明确配置 `autoPopup = true` 时,完成该点后才会先弹白卡
### 3.2 默认规则参数
- `map.declination`
- 没配时默认按 `0`
- `map.initialView.zoom`
- 没配时由客户端初始视口逻辑接管
- `playfield.CPRadius`
- 没配时按客户端内置值处理
- `game.session.*`
- 默认非手动开始
- 默认要求起点打卡
- 默认要求终点打卡
- 默认不在最后一个普通点自动结束
- `game.sequence.skip.*`
- 默认启用跳点
- 默认跳点半径 = 打点半径的 2 倍
- 默认不需要二次确认
- `game.guidance.*`
- 默认显示路线腿线
- 默认显示腿线动效
- 默认不允许手动聚焦选点
- `game.visibility.revealFullPlayfieldAfterStartPunch`
- 默认按 `true` 处理
- `game.finish.finishControlAlwaysSelectable`
- 默认按 `false` 处理
---
## 4. 当前样例说明
当前仓库中的 [classic-sequential.json](D:/dev/cmr-mini/event/classic-sequential.json) 已按这套最小测试口径收敛只保留地图、场地和玩法标识不再附带历史测试内容卡、H5 页面和样式覆盖。
如果要查看公共完整字段,请继续参考:
- [当前最全配置模板](D:/dev/cmr-mini/doc/config/当前最全配置模板.md)