MatchMaster/docs/rainbow-old-candidate-scan.md
WIN-GKKD951VVMJ\Administrator bd4984c909 老彩虹最新更新
2026-09-21 18:03:23 +08:00

66 lines
5.9 KiB
Markdown
Raw Permalink 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.

# C 老彩虹开局候选池扫描
规则确认日期:2026-09-20。复跑:`node tools/scan-rainbow-old-candidates.cjs`。
## 最终规则
- 按第一池、第二池、第三池依次兜底;仅在首个非空池内按完整的多格方块等概率抽取一个。1×1 单格方块不进入任何池。
- 第一池:没有生效特殊机制的普通块。
- 第二池:三种钥匙、星星、两种炸弹、水平/垂直限制、加时间、发送花瓣、开关(开闭均在此池)。
- 第三池:冻结、两种带锁块。复合允许机制取靠后的池,转换不解除原限制。
- 全局排除:1×1 单格方块、叠加及叠加换色、粘合(含三连)、地板、可移动地板、问号、花瓣盖板、组合变色、障碍及暗灰不可消除块、单色地块、格挡机关。
- 继承 B 的按钮颜色排除:与开局任一按钮真实颜色相同的块,三个池均排除。存在任一禁止机制即排除整个块。
- 只算开局已在盘面的块;尚未出场的生产队列不算候选。三个池全空则本局跳过,之后不补发。
## 扫描范围与结果
这是关卡配置静态扫描,没有运行 Cocos 场景,也没有验证关卡可解性或转换动画。覆盖当前仓库 custom bundle 的全部关卡配置;不按玩家连胜资格过滤。
| 配置 | 关卡数 | 初始配置条目 | 第一池可用 | 需第二池兜底 | 需第三池兜底 | 三池全空 | 未出场队列条目 |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| Json | 1980 | 43447 | 1883 | 81 | 3 | 13 | 131 |
| Json2 | 50 | 808 | 49 | 0 | 0 | 1 | 0 |
初始条目不是展开叠加上下层后的运行时块数。叠加已整体排除,所以不影响候选结果。Json2 为新手实验前 50 关;该组连胜奖励在已通关 50 关后解锁,Json2 结果作为配置覆盖参考。
## 三池全空的关卡
原因计数允许重叠:同一个块可以同时命中地板、花瓣盖板等多条排除规则。
| 关卡 | 初始条目 | 按钮颜色 | 排除原因(条目数) | 未出场队列条目 |
| --- | ---: | --- | --- | ---: |
| [Json/735](../assets/custom/Json/level735.json) | 18 | 无 | 单格方块(1×1) 4;问号 17 | 0 |
| [Json/911](../assets/custom/Json/level911.json) | 17 | 无 | 格挡机关 3;叠加/叠加换色 8;粘合 6;单格方块(1×1) 6 | 0 |
| [Json/929](../assets/custom/Json/level929.json) | 18 | 无 | 单格方块(1×1) 8;地板 2;粘合 8;叠加/叠加换色 7 | 0 |
| [Json/973](../assets/custom/Json/level973.json) | 20 | 无 | 格挡机关 2;单格方块(1×1) 6;粘合 4;地板 7;可移动地板 7;叠加/叠加换色 4;问号 7 | 0 |
| [Json/1103](../assets/custom/Json/level1103.json) | 12 | 无 | 单格方块(1×1) 3;叠加/叠加换色 6;问号 3;地板 1;可移动地板 1 | 0 |
| [Json/1119](../assets/custom/Json/level1119.json) | 15 | 无 | 单格方块(1×1) 3;叠加/叠加换色 5;地板 2;问号 5 | 0 |
| [Json/1608](../assets/custom/Json/level1608.json) | 24 | 5、9 | 格挡机关 2;与按钮同色 5;粘合 12;障碍或暗灰块 2;问号 8;地板 6;可移动地板 6;单格方块(1×1) 4;花瓣盖板 2 | 0 |
| [Json/1646](../assets/custom/Json/level1646.json) | 28 | 无 | 格挡机关 2;单格方块(1×1) 6;障碍或暗灰块 2;叠加/叠加换色 6;地板 11;可移动地板 7;问号 12;粘合 2 | 0 |
| [Json/1740](../assets/custom/Json/level1740.json) | 24 | 5、9 | 格挡机关 2;与按钮同色 7;粘合 12;障碍或暗灰块 2;问号 8;地板 6;可移动地板 6;单格方块(1×1) 4;花瓣盖板 2 | 0 |
| [Json/1898](../assets/custom/Json/level1898.json) | 28 | 5 | 格挡机关 4;与按钮同色 7;单格方块(1×1) 8;叠加/叠加换色 5;地板 7;可移动地板 7;问号 11 | 0 |
| [Json/1915](../assets/custom/Json/level1915.json) | 26 | 无 | 单格方块(1×1) 17;叠加/叠加换色 8;地板 18 | 0 |
| [Json/1922](../assets/custom/Json/level1922.json) | 54 | 无 | 格挡机关 19;单格方块(1×1) 22;地板 17;障碍或暗灰块 2 | 0 |
| [Json/1950](../assets/custom/Json/level1950.json) | 32 | 无 | 格挡机关 4;单格方块(1×1) 15;障碍或暗灰块 5;叠加/叠加换色 4;地板 13 | 4 |
| [Json2/24](../assets/custom/Json2/level24.json) | 5 | 无 | 叠加/叠加换色 5 | 0 |
## 需要第二池兜底的关卡
- Json(共 81 个关卡):57、115、459、814、880、891、903、916、989、991、996、1008、1043、1064、1086、1100、1150、1174、1246、1260、1269、1271、1458、1473、1482、1503、1536、1537、1546、1548、1551、1560、1563、1569、1572、1579、1587、1588、1592、1593、1594、1596、1598、1600、1607、1616、1621、1634、1637、1641、1671、1727、1731、1735、1742、1752、1753、1754、1760、1763、1765、1772、1773、1774、1784、1785、1790、1795、1797、1802、1804、1811、1826、1837、1852、1864、1873、1885、1887、1916、1969。
- Json2(共 0 个关卡):无。
## 需要第三池兜底的关卡
- Json(共 3 个关卡):125、1209、1882。
- Json2(共 0 个关卡):无。
## 溯源与限制
- 单格形状:`Block.initBlocks` 的 `block=0` 仅占据 `(0,0)`;`RainbowRules.RAINBOW_SHAPES` 定义一致。
- 按钮构建与颜色:`Map.mapRiseFall`;排除判定:`RainbowStreak.isButtonColor`。
- 方块展开:`Map.blockInit`;附加机制与初始实色:`Block.init`、`Block.initColor`。
- 只按实际生效机制识别附加属性:普通类型残留的 stacking/adhesiveTime 不会生成叠加/粘合机制,不因此排除。
- 未知类型、形状或配置字段会令脚本失败,避免将新机制静默归入普通池。
- [完整 JSON 明细](rainbow-old-candidate-scan.json) 保存各关三池数量、第三池兜底候选,以及空池关卡每个方块的配置和排除原因。
- 输入文件集合 SHA-256:`9c03c1036386c420b1b867dbcfbbd18ca4727b88b778bd6f19f00fe4684c7f20`。