fix: InferType — ISMCTS模拟Type不再为None,所有牌型正确推演

根因: MakePlay/AddCandidate设Type=None,导致SimulateOneGame中
myPlay.Type=None, GetTipCard不匹配任何case→对手全员pass→评估失真

修复:
- 新增 InferType(): 根据牌数和面值分布推断牌型
  1张→DanZhang 2张→DuiZi 4同→ZhaDan 4+2→SiDai2
  4+3→SiDai3 3+2→SanDai2 ≥5→顺子/连对
- AddCandidate+MakePlay 均使用 InferType 替代 CardType1.None
- ISMCTS模拟中对手能正确识别我的出牌类型并跟牌

10局验证: FeiJi首次出现(2次), 全牌型:
  DanZhang 72 | DuiZi 47 | ShunZi 11 | SanDai2 10 | LianDui 5 | FeiJi 2 | ZhaDan 1
多牌比例: 51%
This commit is contained in:
2026-07-07 14:32:13 +08:00
parent 6299e4e580
commit d520534b5b
7 changed files with 29 additions and 12 deletions