diff --git a/PdkFriendServer/Logic/IsmctsBot.cs b/PdkFriendServer/Logic/IsmctsBot.cs index bf9d5a52..b69ce3dc 100644 --- a/PdkFriendServer/Logic/IsmctsBot.cs +++ b/PdkFriendServer/Logic/IsmctsBot.cs @@ -235,6 +235,26 @@ namespace PdkFriendServer.Logic scoredCandidates[i] = (p, wr, am, m); } + // 5.5. 领牌保留策略:有绝对最高牌(2)时,领牌优先出最小的 + isFirstPlay = view.MaxPlayCard.GameNum <= 0; + bool hasHighestCard = hand.Any(c => c.GameState == 1 && c.GameNum == 16); + if (isFirstPlay && hasHighestCard) + { + for (int i = 0; i < scoredCandidates.Count; i++) + { + var (p, wr, am, m) = scoredCandidates[i]; + if (!m && p.Ids != null && p.Ids.Length == 1) + { + int rank = p.GameNum; + if (rank <= 6) wr += 0.15; + else if (rank <= 10) wr += 0.05; + else if (rank <= 13) wr -= 0.05; + else wr -= 0.10; + } + scoredCandidates[i] = (p, wr, am, m); + } + } + // 6. 两阶段选择:多牌优先 scoredCandidates.Sort((a, b) => b.winRate.CompareTo(a.winRate)); var best = scoredCandidates[0]; diff --git a/exe/PdkFriendServer/PdkFriendServer.dll b/exe/PdkFriendServer/PdkFriendServer.dll index 8c13f08b..5a429c37 100644 Binary files a/exe/PdkFriendServer/PdkFriendServer.dll and b/exe/PdkFriendServer/PdkFriendServer.dll differ diff --git a/exe/PdkFriendServer/PdkFriendServer.pdb b/exe/PdkFriendServer/PdkFriendServer.pdb index 8439580b..e9fa3c15 100644 Binary files a/exe/PdkFriendServer/PdkFriendServer.pdb and b/exe/PdkFriendServer/PdkFriendServer.pdb differ diff --git a/exe/hjha-console/PdkFriendServer.dll b/exe/hjha-console/PdkFriendServer.dll index 8c13f08b..5a429c37 100644 Binary files a/exe/hjha-console/PdkFriendServer.dll and b/exe/hjha-console/PdkFriendServer.dll differ diff --git a/exe/hjha-console/PdkFriendServer.pdb b/exe/hjha-console/PdkFriendServer.pdb index 8439580b..e9fa3c15 100644 Binary files a/exe/hjha-console/PdkFriendServer.pdb and b/exe/hjha-console/PdkFriendServer.pdb differ diff --git a/exe/hjha-console/hjha-console.dll b/exe/hjha-console/hjha-console.dll index 664b4eac..e76e630a 100644 Binary files a/exe/hjha-console/hjha-console.dll and b/exe/hjha-console/hjha-console.dll differ diff --git a/exe/hjha-console/hjha-console.pdb b/exe/hjha-console/hjha-console.pdb index 7a6b3051..b7f7bfcf 100644 Binary files a/exe/hjha-console/hjha-console.pdb and b/exe/hjha-console/hjha-console.pdb differ