31011e2eeb52fe9798e5d0777eea02e90b6aa575
规则复核时提出「主牌链上位置相邻的对子即成拖拉机、不限花色」,据此发现 §5.3 首句「**同一花色内**点数相邻的两个对子构成拖拉机」与本节紧接着给出的跨花色 主牌链(正7-副7-正2-副2-主A…)自相矛盾。代码实现的一直是那条链(跨花色), 首句表述是错的。 §5.3 拆成两段重写: - 副牌拖拉机:**必须同一花色**,链 A-K-Q-J-10-9-8-6-5(7、2 是固定主牌不入链, 故 6 与 8 相连;3、4 不在牌堆,5 是最小档);跨花色不构成连对。 - 主牌拖拉机:只有一条完整序列,**位置相邻即成拖拉机、不限花色**——正7对+副7对、 副7对+正2对、副2对+主A对、大王对+小王对都是合法两连对。 - 补充「同一档位的两个对子不相邻」:副7 在序列里只占一个位置,♥7对+♣7对 是两个 平级对子而非拖拉机,副2 同理。 §1 术语表给「正2/正7」加上口语别名「主2/主7」,避免复核时来回换词。 代码无需改动(实测 14 段链全通、跨花色通、同档位不通,与改写后的表述一致)。 补 17 条用例把改写后的每条钉在**拖拉机层**——此前只测到 is_continuous(两张牌 相不相邻),没测过「这几个对子能不能真的组成拖拉机」。变异检验:主牌链改成必须 同花色 / 同档位副7对算相邻 / 副牌 8-6 去掉同花色约束,分别转红 6、2、4 条。 另:复核给出的副牌链写作「…-6-5-3」,需要牌堆保留 3;但 92 = 28×3 + 8 只有在 3、4 都剔除时才成立(保留 3 则 92÷3 除不尽、三家发不平)。经确认为笔误,维持 design §2 现状,并就地补两条断言钉住「参与发牌的牌里 3 和 4 各 0 张、共 92 张」。 全套单测 523 → 540 项全绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
No description provided
11 MiB
Languages
JavaScript
99%
HTML
0.8%
PHP
0.1%