
joywayerandClaude Opus 4.8
21e76b976a
二七王修复:拖拉机跟牌降级递归 else 分支欠约束(放行非法跟牌)
get_followcard 降规格递归中,当某级"等长短拖拉机候选总对数 > 剩余需求"
时(class.arith.js else 分支),因 cantype 单一结构模型无法表达"任选其一
成拖拉机、其余自由",直接返回宽松的"任意 N 对",导致跟牌方明明有 2 连对
却被允许只出三个孤立对子(如首家 3 连对、跟牌方 AA KK JJ TT 88 66 时打
AA JJ 88),违反 design §5.2"能凑多长拖拉机就必须先凑多长"。
方案 2(根治,不引入过约束):在 can_followcard 结构校验后新增"最大拖拉机
覆盖度"闸门 follow_tractor_cover_ok——
- tractor_run_lengths:把同花色对子按相邻拆成连对 run 长度表;
- max_tractor_profile:贪心最长优先取 K 对,得字典序最大规格档案 best;
- profile_less:跟牌自身档案 got 不得字典序劣于 best,否则拒。
仅在"跟牌整手=首家花色对子且该花色牌≥首家张数"时生效,垫/混合/对子不够
等一律放行。can_followcard 是唯一出牌闸门(paiju.js:605),覆盖人工+托管。
get_followcard else 分支加注释指明由该闸门兜底。
回归测试:test_follow.js +5 条(303/304 三组 2 连对场景,含 else 欠约束
回归:出孤立对→拒、出尽量长拖→合法)。全套 259 项断言通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 07:18:42 +08:00
..
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-05 07:18:42 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00
2026-07-01 18:13:26 +08:00