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

5.4 KiB
Raw Blame History

顺序打点最小配置模板

文档版本v1.0 最后更新2026-04-02

本文档提供一份 顺序赛(classic-sequential)最小可跑配置模板

目标:

  • 只保留顺序赛跑通所需的最少字段
  • 让测试尽量回到程序默认规则本身
  • 避免历史内容卡、H5 页面、样式覆盖继续干扰联调

如果你关心“最小模板下系统到底默认怎么跑”,请优先配合阅读:


1. 最小模板

{
  "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
  • 必填:否
  • 说明:最小样例默认不依赖额外玩法覆盖字段
  • 备注:如需覆盖程序默认值,再补 punchsequenceguidancefinish 等子块

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 已按这套最小测试口径收敛只保留地图、场地和玩法标识不再附带历史测试内容卡、H5 页面和样式覆盖。

如果要查看公共完整字段,请继续参考: