From e6c63923d19be454bb7ab63dfb95462de168a5f7 Mon Sep 17 00:00:00 2001 From: xiaoou Date: Sun, 5 Jul 2026 01:13:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20filter=E7=A7=BB=E9=99=A4=E4=BA=94?= =?UTF-8?q?=E9=97=A8=E9=BD=90/=E4=B8=80=E8=89=B2=E5=9B=9B=E5=90=8C?= =?UTF-8?q?=E9=A1=BA/=E5=B0=86=E4=B8=80=E8=89=B2=E7=AD=89=E6=97=A0fallback?= =?UTF-8?q?=E6=97=A0=5FfanConfig=E5=AE=88=E5=8D=AB=E7=9A=84=E7=95=AA?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 只保留有hardcoded fallback值或event的番型在filter中 移除: 将一色/一色四同顺/一色三同顺/一般高/五门齐/全求人/门前清 → 这些只在DSL配置_fanConfig时才显示,否则被filter剔除 → allZeroValue→鸡胡兜底保证非零分 效果: 南昌显示'缺一门+鸡胡'(不再越权显示五门齐) --- RuleEngine/Patterns/MeldsSolver.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/RuleEngine/Patterns/MeldsSolver.cs b/RuleEngine/Patterns/MeldsSolver.cs index 174be0e..30adf06 100644 --- a/RuleEngine/Patterns/MeldsSolver.cs +++ b/RuleEngine/Patterns/MeldsSolver.cs @@ -808,15 +808,14 @@ public class MeldsSolver if (fans.Count == 0 || allZeroValue) fans.Add("鸡胡"); - // Filter: keep fans in _fanConfig OR event fans OR well-known structural fans - // Exclude zero-value markers (无字/缺一门/将) and no-fallback fans (断幺九/平胡/平和) - // → these trigger allZeroValue→鸡胡 to ensure non-zero scoring + // Filter: keep fans in _fanConfig OR event fans OR hardcoded-fallback fans + // Structural fans without _fanConfig guard AND no fallback: ONLY pass if in _fanConfig + // → triggers allZeroValue→鸡胡 to ensure non-zero scoring return fans.Where(f => _fanConfig.ContainsKey(f) || f is "杠上开花" or "海底捞月" or "抢杠胡" or "天胡" or "地胡" or "癞子胡" or "清一色" or "混一色" or "对对胡" or "碰碰和" or "暗七对" or "七对" or "带幺九" or "十三幺" or "鸡胡" or "字一色" - or "全大" or "全中" or "全小" or "全双" or "大于五" or "小于五" - or "将一色" or "大四喜" or "大三元" or "小四喜" or "小三元" - or "一色四同顺" or "一色三同顺" or "一般高" or "五门齐" or "全求人" or "门前清" + or "全大" or "全中" or "全小" or "全双" or "大于五" or "小于五" or "混幺九" or "全带幺" + or "大四喜" or "大三元" or "小四喜" or "小三元" or "三风" or "双箭刻" or "圈风" or "门风" or "单钓将" or "四归一" or "连七对" or "全不靠" or "一色双龙会").ToList(); }