fix: filter移除五门齐/一色四同顺/将一色等无fallback无_fanConfig守卫的番型

只保留有hardcoded fallback值或event的番型在filter中
移除: 将一色/一色四同顺/一色三同顺/一般高/五门齐/全求人/门前清
  → 这些只在DSL配置_fanConfig时才显示,否则被filter剔除
  → allZeroValue→鸡胡兜底保证非零分

效果: 南昌显示'缺一门+鸡胡'(不再越权显示五门齐)
This commit is contained in:
xiaoou
2026-07-05 01:13:52 +08:00
parent 70b00d5e6d
commit e6c63923d1

View File

@ -808,15 +808,14 @@ public class MeldsSolver
if (fans.Count == 0 || allZeroValue) if (fans.Count == 0 || allZeroValue)
fans.Add("鸡胡"); fans.Add("鸡胡");
// Filter: keep fans in _fanConfig OR event fans OR well-known structural fans // Filter: keep fans in _fanConfig OR event fans OR hardcoded-fallback fans
// Exclude zero-value markers (无字/缺一门/将) and no-fallback fans (断幺九/平胡/平和) // Structural fans without _fanConfig guard AND no fallback: ONLY pass if in _fanConfig
// → these trigger allZeroValue→鸡胡 to ensure non-zero scoring // → triggers allZeroValue→鸡胡 to ensure non-zero scoring
return fans.Where(f => _fanConfig.ContainsKey(f) || return fans.Where(f => _fanConfig.ContainsKey(f) ||
f is "杠上开花" or "海底捞月" or "抢杠胡" or "天胡" or "地胡" or "癞子胡" 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 "全求人" or "门前清"
or "三风" or "双箭刻" or "圈风" or "门风" or "单钓将" or "四归一" or "连七对" or "全不靠" or "一色双龙会").ToList(); or "三风" or "双箭刻" or "圈风" or "门风" or "单钓将" or "四归一" or "连七对" or "全不靠" or "一色双龙会").ToList();
} }