diff --git a/RuleEngine/Core/WildcardRegistry.cs b/RuleEngine/Core/WildcardRegistry.cs index 46f9a95..044a7e4 100644 --- a/RuleEngine/Core/WildcardRegistry.cs +++ b/RuleEngine/Core/WildcardRegistry.cs @@ -66,10 +66,10 @@ public class WildcardRegistry if (suit == 3) // Honors: 东(31)→南(32)→西(33)→北(34)→中(35)→发(36)→白(37)→东(31) { - for (int i = 1; i <= count; i++) + for (int i = 0; i < count; i++) { int next = revealedTile + i; - if (next > 37) next = 31 + (next - 38); + if (next > 37) next = next - 7; // wrap: 38→31 result.Add(next); } } @@ -77,7 +77,7 @@ public class WildcardRegistry { int baseVal = suit switch { 0 => 0, 1 => 10, _ => 20 }; int rank = MahjongTile.Rank(revealedTile); - for (int i = 1; i <= count; i++) + for (int i = 0; i < count; i++) { int nextRank = (rank + i - 1) % 9 + 1; result.Add(baseVal + nextRank);