MatchMaster/reports/level-block-counts/所有关卡方块统计.md
2026-09-16 12:44:01 +08:00

140 lines
11 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.

# 所有关卡方块统计
统计日期:2026-09-15。数据为本地工作区当前文件。
## 统计口径
- 主关卡来自 `assets/custom/Json/level*.json`;当前游戏加载路径为 `custom` 分包下的 `Json/levelN`。`Json2` 的 50 个文件单列,全部文件合计包含两套数据,不按相同关卡编号去重。
- 数量单位是“块”:每个形状整体算一块,叠加块上下层各算一块。包含特殊块、灰色障碍块及生成门队列里的全部方块(假定队列全部生成)。不按占用格数累加。
- 变色块按初始颜色计一次;问号块按配置底色计数,揭示前的问号外壳不另算一块。
- `block=23` 由 Barrier 组件创建,其 `color` 字段不用于设置颜色,因此单列为障碍物,不归入彩色方块。门、地板覆盖层、花瓣等附属物不另计为方块。
- 颜色名称依据实际贴图外观,并附图案便于核对;`BlockColor` 枚举名称与当前贴图不符,未使用该枚举命名。灰色 `color=11` 使用 `0color` 贴图。
- 规格为宽×高(格),不同朝向按 `block` 编号分开;形状示意中的 `/` 表示换行,`■` 为占用格,`·` 为空格。
## 总量核对
| 数据集 | 关卡文件 | 配置记录 | 叠加上层 | 生成队列记录 | 队列叠加上层 | 方块(0–22) | 障碍物(23) | 含障碍物总量 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 主关卡 Json | 1,941 | 42,443 | 2,424 | 74 | 5 | 39,460 | 5,486 | 44,946 |
| 附加数据 Json2 | 50 | 830 | 37 | 0 | 0 | 725 | 142 | 867 |
| 全部文件合计 | 1,991 | 43,273 | 2,461 | 74 | 5 | 40,185 | 5,628 | 45,813 |
主关卡编号范围 1–1957,缺少 1941、1942、1943、1944、1945、1946、1947、1948、1949、1950、1951、1952、1953、1954、1955、1956;仅统计实际存在的 1941 个文件。
## 按颜色汇总(含叠加层和生成队列,不含 block=23)
| color | 贴图颜色/图案 | 主关卡 Json | Json2 | 全部文件合计 |
| --- | --- | --- | --- | --- |
| 1 | 蓝(月亮) | 4,003 | 72 | 4,075 |
| 2 | 紫(星星) | 3,812 | 77 | 3,889 |
| 3 | 浅绿(圆) | 4,085 | 72 | 4,157 |
| 4 | 米黄(方形) | 3,157 | 84 | 3,241 |
| 5 | 青(三叶) | 4,394 | 106 | 4,500 |
| 6 | 橙(三角) | 3,898 | 54 | 3,952 |
| 7 | 深绿(菱形) | 3,398 | 58 | 3,456 |
| 8 | 黄(六边形) | 3,851 | 102 | 3,953 |
| 9 | 粉(爱心) | 3,991 | 86 | 4,077 |
| 10 | 红(皇冠) | 3,820 | 14 | 3,834 |
| 11 | 灰(障碍) | 1,051 | 0 | 1,051 |
## 全部文件合计:颜色 × 规格
| block | 规格 | 占格 | 形状 | 1 蓝 | 2 紫 | 3 浅绿 | 4 米黄 | 5 青 | 6 橙 | 7 深绿 | 8 黄 | 9 粉 | 10 红 | 11 灰 | 合计 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 0 | 1×1 | 1 | `■` | 1,105 | 966 | 1,098 | 843 | 1,282 | 1,011 | 906 | 960 | 1,030 | 1,082 | 828 | 11,111 |
| 1 | 2×1 | 2 | `■■` | 1,023 | 952 | 1,009 | 774 | 1,014 | 986 | 861 | 978 | 1,000 | 971 | 98 | 9,666 |
| 2 | 1×2 | 2 | `■/■` | 1,125 | 1,155 | 1,114 | 1,018 | 1,249 | 1,117 | 963 | 1,133 | 1,212 | 1,060 | 101 | 11,247 |
| 3 | 3×1 | 3 | `■■■` | 93 | 86 | 101 | 68 | 121 | 86 | 97 | 76 | 113 | 85 | 6 | 932 |
| 4 | 1×3 | 3 | `■/■/■` | 164 | 130 | 132 | 99 | 187 | 141 | 96 | 139 | 148 | 113 | 1 | 1,350 |
| 5 | 2×2 | 4 | `■■/■■` | 112 | 110 | 152 | 101 | 144 | 132 | 116 | 176 | 134 | 127 | 10 | 1,314 |
| 6 | 2×3 | 4 | `■■/·■/·■` | 24 | 23 | 36 | 15 | 29 | 27 | 26 | 27 | 19 | 32 | 0 | 258 |
| 7 | 3×2 | 4 | `■■■/··■` | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 8 | 2×3 | 4 | `■·/■·/■■` | 10 | 13 | 13 | 5 | 12 | 8 | 14 | 18 | 12 | 9 | 0 | 114 |
| 9 | 3×2 | 4 | `··■/■■■` | 8 | 9 | 15 | 2 | 17 | 7 | 6 | 7 | 12 | 8 | 0 | 91 |
| 10 | 2×3 | 4 | `■■/■·/■·` | 22 | 19 | 21 | 18 | 35 | 10 | 15 | 25 | 13 | 18 | 0 | 196 |
| 11 | 3×2 | 4 | `■■■/■··` | 14 | 10 | 14 | 3 | 9 | 11 | 6 | 6 | 10 | 11 | 0 | 94 |
| 12 | 2×3 | 4 | `·■/·■/■■` | 9 | 13 | 13 | 8 | 5 | 9 | 8 | 8 | 10 | 6 | 0 | 89 |
| 13 | 3×2 | 4 | `■··/■■■` | 10 | 11 | 11 | 6 | 18 | 5 | 9 | 6 | 7 | 3 | 0 | 86 |
| 14 | 3×2 | 4 | `■■■/·■·` | 21 | 25 | 25 | 10 | 33 | 27 | 17 | 22 | 24 | 9 | 0 | 213 |
| 15 | 3×2 | 4 | `·■·/■■■` | 9 | 14 | 16 | 6 | 15 | 16 | 8 | 8 | 6 | 9 | 0 | 107 |
| 16 | 2×3 | 4 | `■·/■■/■·` | 7 | 13 | 22 | 12 | 10 | 15 | 5 | 12 | 11 | 9 | 0 | 116 |
| 17 | 2×3 | 4 | `·■/■■/·■` | 12 | 12 | 13 | 8 | 9 | 10 | 7 | 8 | 3 | 12 | 0 | 94 |
| 18 | 3×3 | 5 | `·■·/■■■/·■·` | 28 | 19 | 21 | 15 | 45 | 19 | 19 | 23 | 21 | 11 | 0 | 221 |
| 19 | 2×2 | 3 | `·■/■■` | 55 | 57 | 55 | 35 | 64 | 56 | 44 | 52 | 54 | 50 | 2 | 524 |
| 20 | 2×2 | 3 | `■·/■■` | 61 | 72 | 74 | 52 | 53 | 75 | 68 | 77 | 64 | 46 | 1 | 643 |
| 21 | 2×2 | 3 | `■■/■·` | 58 | 75 | 92 | 52 | 61 | 73 | 63 | 75 | 62 | 70 | 3 | 684 |
| 22 | 2×2 | 3 | `■■/·■` | 105 | 105 | 110 | 91 | 88 | 111 | 102 | 117 | 112 | 93 | 1 | 1,035 |
| 合计 | | | | 4,075 | 3,889 | 4,157 | 3,241 | 4,500 | 3,952 | 3,456 | 3,953 | 4,077 | 3,834 | 1,051 | 40,185 |
另有 block=23 障碍物 **5,628** 个。
## 主关卡 Json:颜色 × 规格
| block | 规格 | 占格 | 形状 | 1 蓝 | 2 紫 | 3 浅绿 | 4 米黄 | 5 青 | 6 橙 | 7 深绿 | 8 黄 | 9 粉 | 10 红 | 11 灰 | 合计 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 0 | 1×1 | 1 | `■` | 1,087 | 952 | 1,086 | 823 | 1,261 | 995 | 891 | 943 | 1,010 | 1,081 | 828 | 10,957 |
| 1 | 2×1 | 2 | `■■` | 1,011 | 943 | 999 | 761 | 1,000 | 977 | 852 | 962 | 983 | 965 | 98 | 9,551 |
| 2 | 1×2 | 2 | `■/■` | 1,111 | 1,141 | 1,097 | 999 | 1,233 | 1,110 | 954 | 1,118 | 1,191 | 1,056 | 101 | 11,111 |
| 3 | 3×1 | 3 | `■■■` | 89 | 84 | 99 | 64 | 115 | 82 | 95 | 71 | 111 | 84 | 6 | 900 |
| 4 | 1×3 | 3 | `■/■/■` | 161 | 129 | 131 | 95 | 181 | 140 | 95 | 134 | 146 | 113 | 1 | 1,326 |
| 5 | 2×2 | 4 | `■■/■■` | 109 | 102 | 141 | 93 | 133 | 125 | 108 | 158 | 126 | 126 | 10 | 1,231 |
| 6 | 2×3 | 4 | `■■/·■/·■` | 23 | 22 | 32 | 14 | 27 | 27 | 24 | 26 | 18 | 32 | 0 | 245 |
| 7 | 3×2 | 4 | `■■■/··■` | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 8 | 2×3 | 4 | `■·/■·/■■` | 10 | 13 | 13 | 5 | 11 | 8 | 13 | 14 | 12 | 9 | 0 | 108 |
| 9 | 3×2 | 4 | `··■/■■■` | 7 | 8 | 14 | 2 | 17 | 7 | 6 | 7 | 11 | 8 | 0 | 87 |
| 10 | 2×3 | 4 | `■■/■·/■·` | 21 | 18 | 21 | 14 | 30 | 10 | 14 | 21 | 13 | 18 | 0 | 180 |
| 11 | 3×2 | 4 | `■■■/■··` | 14 | 9 | 14 | 3 | 8 | 11 | 6 | 5 | 10 | 11 | 0 | 91 |
| 12 | 2×3 | 4 | `·■/·■/■■` | 7 | 11 | 11 | 8 | 4 | 9 | 7 | 7 | 8 | 6 | 0 | 78 |
| 13 | 3×2 | 4 | `■··/■■■` | 10 | 11 | 11 | 6 | 18 | 5 | 9 | 6 | 7 | 3 | 0 | 86 |
| 14 | 3×2 | 4 | `■■■/·■·` | 20 | 21 | 24 | 9 | 30 | 25 | 17 | 21 | 20 | 9 | 0 | 196 |
| 15 | 3×2 | 4 | `·■·/■■■` | 9 | 14 | 15 | 6 | 10 | 14 | 8 | 8 | 5 | 9 | 0 | 98 |
| 16 | 2×3 | 4 | `■·/■■/■·` | 7 | 12 | 21 | 11 | 10 | 14 | 5 | 11 | 11 | 9 | 0 | 111 |
| 17 | 2×3 | 4 | `·■/■■/·■` | 11 | 12 | 13 | 8 | 9 | 10 | 7 | 7 | 3 | 11 | 0 | 91 |
| 18 | 3×3 | 5 | `·■·/■■■/·■·` | 23 | 17 | 18 | 15 | 42 | 19 | 16 | 20 | 20 | 11 | 0 | 201 |
| 19 | 2×2 | 3 | `·■/■■` | 54 | 55 | 54 | 34 | 60 | 54 | 42 | 52 | 53 | 50 | 2 | 510 |
| 20 | 2×2 | 3 | `■·/■■` | 59 | 67 | 72 | 50 | 49 | 74 | 68 | 75 | 62 | 46 | 1 | 623 |
| 21 | 2×2 | 3 | `■■/■·` | 57 | 72 | 92 | 50 | 60 | 72 | 61 | 72 | 62 | 70 | 3 | 671 |
| 22 | 2×2 | 3 | `■■/·■` | 103 | 99 | 107 | 87 | 86 | 110 | 100 | 113 | 109 | 93 | 1 | 1,008 |
| 合计 | | | | 4,003 | 3,812 | 4,085 | 3,157 | 4,394 | 3,898 | 3,398 | 3,851 | 3,991 | 3,820 | 1,051 | 39,460 |
另有 block=23 障碍物 **5,486** 个。
## 附加数据 Json2:颜色 × 规格
| block | 规格 | 占格 | 形状 | 1 蓝 | 2 紫 | 3 浅绿 | 4 米黄 | 5 青 | 6 橙 | 7 深绿 | 8 黄 | 9 粉 | 10 红 | 11 灰 | 合计 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 0 | 1×1 | 1 | `■` | 18 | 14 | 12 | 20 | 21 | 16 | 15 | 17 | 20 | 1 | 0 | 154 |
| 1 | 2×1 | 2 | `■■` | 12 | 9 | 10 | 13 | 14 | 9 | 9 | 16 | 17 | 6 | 0 | 115 |
| 2 | 1×2 | 2 | `■/■` | 14 | 14 | 17 | 19 | 16 | 7 | 9 | 15 | 21 | 4 | 0 | 136 |
| 3 | 3×1 | 3 | `■■■` | 4 | 2 | 2 | 4 | 6 | 4 | 2 | 5 | 2 | 1 | 0 | 32 |
| 4 | 1×3 | 3 | `■/■/■` | 3 | 1 | 1 | 4 | 6 | 1 | 1 | 5 | 2 | 0 | 0 | 24 |
| 5 | 2×2 | 4 | `■■/■■` | 3 | 8 | 11 | 8 | 11 | 7 | 8 | 18 | 8 | 1 | 0 | 83 |
| 6 | 2×3 | 4 | `■■/·■/·■` | 1 | 1 | 4 | 1 | 2 | 0 | 2 | 1 | 1 | 0 | 0 | 13 |
| 7 | 3×2 | 4 | `■■■/··■` | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 8 | 2×3 | 4 | `■·/■·/■■` | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 4 | 0 | 0 | 0 | 6 |
| 9 | 3×2 | 4 | `··■/■■■` | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 |
| 10 | 2×3 | 4 | `■■/■·/■·` | 1 | 1 | 0 | 4 | 5 | 0 | 1 | 4 | 0 | 0 | 0 | 16 |
| 11 | 3×2 | 4 | `■■■/■··` | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 3 |
| 12 | 2×3 | 4 | `·■/·■/■■` | 2 | 2 | 2 | 0 | 1 | 0 | 1 | 1 | 2 | 0 | 0 | 11 |
| 13 | 3×2 | 4 | `■··/■■■` | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 14 | 3×2 | 4 | `■■■/·■·` | 1 | 4 | 1 | 1 | 3 | 2 | 0 | 1 | 4 | 0 | 0 | 17 |
| 15 | 3×2 | 4 | `·■·/■■■` | 0 | 0 | 1 | 0 | 5 | 2 | 0 | 0 | 1 | 0 | 0 | 9 |
| 16 | 2×3 | 4 | `■·/■■/■·` | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 5 |
| 17 | 2×3 | 4 | `·■/■■/·■` | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 3 |
| 18 | 3×3 | 5 | `·■·/■■■/·■·` | 5 | 2 | 3 | 0 | 3 | 0 | 3 | 3 | 1 | 0 | 0 | 20 |
| 19 | 2×2 | 3 | `·■/■■` | 1 | 2 | 1 | 1 | 4 | 2 | 2 | 0 | 1 | 0 | 0 | 14 |
| 20 | 2×2 | 3 | `■·/■■` | 2 | 5 | 2 | 2 | 4 | 1 | 0 | 2 | 2 | 0 | 0 | 20 |
| 21 | 2×2 | 3 | `■■/■·` | 1 | 3 | 0 | 2 | 1 | 1 | 2 | 3 | 0 | 0 | 0 | 13 |
| 22 | 2×2 | 3 | `■■/·■` | 2 | 6 | 3 | 4 | 2 | 1 | 2 | 4 | 3 | 0 | 0 | 27 |
| 合计 | | | | 72 | 77 | 72 | 84 | 106 | 54 | 58 | 102 | 86 | 14 | 0 | 725 |
另有 block=23 障碍物 **142** 个。
## 核对依据
- `assets/Script/Map.ts`:`blockInit` 的叠加层创建、`createSpawnGateBatch` 的队列创建。
- `assets/Script/Block.ts`:`initColor` 的初始颜色、`initBlocks` 的 23 种形状占格。
- `assets/Script/Barrier.ts`:block=23 不按颜色字段换图。
- `assets/Block/0color0.png` 至 `10color0.png`:颜色及图案。
- 校验结果:全部 JSON 成功解析;所有颜色、规格编号通过检查;每关以及每套数据的行列合计一致;配置记录 + 叠加上层 + 生成队列记录 + 队列上层 = 含障碍物总量。