fix: 风(31-34)和箭(35-37)独立循环,非合并序列

修复前: 北风副精=中(31-37全序列)
修复后: 北风副精=东(风圈内独立循环,北→东wrap)

风: 东→南→西→北→东
箭: 中→发→白→中
数字: 1-9→1 wrap(不变)
This commit is contained in:
xiaoou
2026-07-04 23:52:26 +08:00
parent c1bcdc42a2
commit 1be5062d4d

View File

@ -64,12 +64,14 @@ public class WildcardRegistry
var result = new List<int>();
int suit = MahjongTile.Suit(revealedTile);
if (suit == 3) // Honors: (31)→南(32)→西(33)→北(34)→中(35)→发(36)→白(37)→东(31)
if (suit == 3) // Honors: (31-34)独立循环, 箭(35-37)独立循环
{
int windBase = revealedTile >= 31 && revealedTile <= 34 ? 31 : 35;
int windEnd = windBase == 31 ? 34 : 37;
for (int i = 0; i < count; i++)
{
int next = revealedTile + i;
if (next > 37) next = next - 7; // wrap: 38→31
if (next > windEnd) next = windBase + (next - windEnd - 1);
result.Add(next);
}
}