积分问题修复

This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-06-11 14:01:41 +08:00
parent a588b268bb
commit 8793df1b60

View File

@ -69,7 +69,18 @@ public class DataGameModelManager : GameBase.Singleton<DataGameModelManager>
// 总积分 // 总积分
long totalScore = DataGameSceneManager.Instance.ScoreAllValue; long totalScore = DataGameSceneManager.Instance.ScoreAllValue;
int playerCount = us.Count;
if (playerCount == 1)
{
// 只有一个玩家分配100%
us[0].m_Score += totalScore;
long winScale = DataGameSceneManager.Instance.WinAllValue;
Log.Debug("玩家{0},分配所得胜点:{1}", us[0].protCustMessageData.nickName, winScale);
us[0].m_AllWinCount = (int)winScale;
}
else
{
// 计算前三名分配 // 计算前三名分配
long firstScore = (long)(totalScore * 0.3f); long firstScore = (long)(totalScore * 0.3f);
long secondScore = (long)(totalScore * 0.2f); long secondScore = (long)(totalScore * 0.2f);
@ -77,11 +88,10 @@ public class DataGameModelManager : GameBase.Singleton<DataGameModelManager>
// 计算剩余40%平分 // 计算剩余40%平分
long leftScore = totalScore - firstScore - secondScore - thirdScore; long leftScore = totalScore - firstScore - secondScore - thirdScore;
int playerCount = us.Count;
long avgScore = playerCount > 0 ? leftScore / playerCount : 0; long avgScore = playerCount > 0 ? leftScore / playerCount : 0;
// 分配 // 分配
for (int i = 0; i < us.Count; i++) for (int i = 0; i < playerCount; i++)
{ {
var d = us[i]; var d = us[i];
long addScore = avgScore; long addScore = avgScore;
@ -102,8 +112,7 @@ public class DataGameModelManager : GameBase.Singleton<DataGameModelManager>
d.m_AllWinCount = (int)winScale; d.m_AllWinCount = (int)winScale;
} }
} }
}
List<PostPlayRankData> rankInfos = new List<PostPlayRankData>(); List<PostPlayRankData> rankInfos = new List<PostPlayRankData>();
// 上报排行榜数据 // 上报排行榜数据