文档(跨表量级护栏落文批·QQ-12设计闭合+用户删四条并入): 数据配置 v1.3→v1.4——新增「跨表量级校验」节(2026-11-09会话三裁: 落点=加载期跨表通道/判据=案A域级sanity——敌攻击上界×难度攻击乘数最大值≤主角生命上限取值域上界,只查域相容不查玩法平衡/处置=加载期致命;空难度表跳过,Boss行值直填单表域已覆盖不另查;域值不转载归schemas); fail-fast错误类别表+调参表(写死开非调参项)+验收标准(夹具类别+专条判据)三处同步。待办清单: QQ-12条目状态推进文档设计已闭合(凭据=数据配置v1.4)+缺口删+改动面补游戏代码档; 并入用户主区手删四条失效迁移条目(QQ-05补发兜底/QQ-07标错惩罚/QQ-08双舞台陷阱/QQ-09对账回写,用户2026-11-09确认系本人删除并裁并入本批,patch原样搬入)。件核: 被删条目指路句零残留(双舞台陷阱两处命中为机制引用非条目指路)。凭据: 流水线闸PASS(36条目/57数据行/4链/4卡)+文档域闸【验收通过】闸况与基线一致无新增红。实现面(校验器第⑧项+单测)归写卡段另批
This commit is contained in:
1 parent
a17cb109c2
commit
c6e49dadfe
2 files changed
+22
-35
No files matched your search
@@ -1,7 +1,7 @@
|
||||
# 数据配置
|
||||
|
||||
> 一句话:数值表与单一事实源管线
|
||||
> 状态:已定稿;现行为 v1.3
|
||||
> 状态:已定稿;现行为 v1.4
|
||||
|
||||
## 设计目的
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
|
||||
| 错误类别 | 什么情况 | 处置 |
|
||||
|---|---|---|
|
||||
| 加载期校验错误 | 字段越界、类型不符、表为空、缺入口锚行、重复键、权重和为零、悬空引用、段序违例 | 收集后统一显示错误,致命中止并输出错误清单 |
|
||||
| 加载期校验错误 | 字段越界、类型不符、表为空、缺入口锚行、重复键、权重和为零、悬空引用、跨表量级越界、段序违例 | 收集后统一显示错误,致命中止并输出错误清单 |
|
||||
| 运行期致命 | 进度坐标越域请求、未设主种子就取随机数 | 不分构建走致命错误路径;无窗口模式进程非 0 退出 |
|
||||
|
||||
```
|
||||
@@ -119,6 +119,20 @@
|
||||
|
||||
举证:本节为校验纪律约定,无计算。逐表引用字段的登记见各回填责任方文档。
|
||||
|
||||
### 跨表量级校验:组合数值的上界不得突破目标字段的取值域
|
||||
|
||||
单表校验各管各的字段取值域,但两张表各自合法取值,组合起来仍可能量级失控:敌人攻击取域内高位、难度攻击乘数也取域内高位,乘出来的实际攻击可以远超主角生命任何可能的取值。跨表量级校验在加载期把这类组合拦下。它只查取值域之间的量级相容性,不查玩法平衡——数值定得合不合理归各回填责任方与[难度曲线与Boss](../冒险循环/难度曲线与Boss.md),本校验只问组合结果是否突破结构上可能的上界。
|
||||
|
||||
现行激活的量级检查一条:
|
||||
|
||||
| 检查 | 组合式 | 上界 | 越界处置 |
|
||||
|---|---|---|---|
|
||||
| 敌人攻击 × 难度攻击乘数 | 敌人表每行攻击上界(有攻击区间取区间上限,否则取基值)× 难度表全行攻击乘数的最大值(越域乘数按域边界值计) | 主角表生命上限字段的取值域上界 | 加载期校验错误,致命中止 |
|
||||
|
||||
难度表为空表时跳过本检查:零乘数修饰即攻击不放大,单表域校验已覆盖。Boss 数值走行值直填、不经难度表,其攻击上界就是行值本身,单表域校验已覆盖,不另查。各取值域的具体数值归表结构声明(game/data/schemas/),本文不转载。
|
||||
|
||||
举证:本节为校验纪律约定,无计算。
|
||||
|
||||
### 进度坐标查行:跟着冒险进度成长的表带两维坐标
|
||||
|
||||
跟着冒险进度成长的表(难度、生成参数、敌人配置)每行带(关卡序号 × 节点深度)两维坐标——难度曲线的雕刻轴从第一天就留在表结构层,而不是散落各处的魔法数字。解析规则两条:其一,进度坐标向上取整(2026-09-18 用户拍板)——无精确行时取**不低于**请求坐标的最近已有行并留一条警告(警告按"哪张表、缺哪维、停在哪个键"去重,是开发期异常信号而非审计工具);取整方向的理由是**保证偏难**:宁可在内容缺口上高估难度让工具读数保守,不可静默降难掩盖断档;请求坐标低于合法域(关卡序号 <1、节点深度 <0)不属于取整,走运行期致命;请求高于最大已有行时**取最大已有行封顶**(2026-09-18 追加拍板:可取范围内向上取整,超出最大值就用最大值,封顶同样留警告)。其二,实体键精确匹配,那一行没有这个名字就是悬空引用,直接致命中止——进度可以向上近似,"是哪种敌人"不能近似,身份近似会静默改变遭遇构成。
|
||||
@@ -190,12 +204,14 @@
|
||||
| 随机流口径 | 统一流单盐单计数器 + 七用途标签封闭词表 | 统一口径为 2026-09-27 裁决;扩签 = 改代码 + 评审,有意设卡 |
|
||||
| 进度坐标解析策略 | 可取范围内向上取整 + 警告(保证偏难);超出最大行封顶取最大值 + 警告;域越界致命(2026-09-18 两段拍板) | 冻结:静默降难会掩盖难度断档 |
|
||||
| 入口锚行校验 | 写死开 | 非调参项;重议走文档修订流程 |
|
||||
| 跨表量级校验 | 写死开 | 非调参项;重议走文档修订流程 |
|
||||
| 调试覆盖开关 | 仅调试构建,默认关 | 正式构建结构性不存在;覆盖值永不回写表文件 |
|
||||
|
||||
## 验收标准
|
||||
|
||||
- 干净检出:无窗口冒烟脚本从干净检出启动,表清单内全部表加载成功且表目录无清单外文件;任一失败输出错误清单并退出非 0。
|
||||
- 校验类别全覆盖:越界、文件缺失、空表、缺锚行、重复键、权重和为零、悬空引用各有一份测试夹具,逐类断言错误类别。
|
||||
- 校验类别全覆盖:越界、文件缺失、空表、缺锚行、重复键、权重和为零、悬空引用、跨表量级越界各有一份测试夹具,逐类断言错误类别。
|
||||
- 跨表量级护栏:敌人攻击上界与难度攻击乘数最大值的组合超过主角生命上限取值域上界时,加载期报对应错误类别并致命中止;合法组合与空难度表零误报。
|
||||
- 致命真的会死:任一致命夹具经正式通道加载,进程非 0 退出,而非仅"校验器能发现"。
|
||||
- 黄金向量:随机派生纯函数对登记向量逐个复算相等;同输入恒同输出;同序号重复调用恒等。
|
||||
- 计数器纪律:连续取号跨模拟关卡切换,计数器单调不重置;热重载成败都不改变主种子与计数器。
|
||||
|
||||
Reference in new issue
Block a user