首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Photon Unity排行榜排序

Photon Unity排行榜排序
EN

Stack Overflow用户
提问于 2016-12-20 19:20:41
回答 1查看 1.4K关注 0票数 2

我正在尝试使用Photon Unity网络在多人模式下获得玩家的分数。

代码语言:javascript
复制
PhotonNetwork.playerList[i].GetScore();

我使用上面的行来获取当前房间内所有玩家的得分。

我将球员的名字和分数添加到一个字典中,就像这样,1.球员的名字是"Key“。2.玩家得分,以"Value“表示。

代码语言:javascript
复制
for(int i = 0; i < PhotonNetwork.playerList.Length; i++)
{
    if (dict.ContainsKey (PhotonNetwork.playerList[i].name))
    {
        dict[PhotonNetwork.playerList[i].name] = PhotonNetwork.playerList[i].GetScore();
    }
    else
    {
        dict.Add (PhotonNetwork.playerList[i].name, PhotonNetwork.playerList[i].GetScore());
    }
}

在这之后,我想要前5名的分数和名字的降序。因此,我对字典进行了排序,并像这样获取了前5个值,

代码语言:javascript
复制
foreach(var item in dict.OrderByDescending(r => r.Value).Take(5))
{
    scoreText.text = item.Key +" "+ item.Value;
}

输出要求是“字典中排序的5个元素”,请帮助我找到解决方案。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-02-06 19:07:57

您可以只使用下面这行代码:

代码语言:javascript
复制
var sortedPlayerList = (from p in playerList orderby p.GetMyScore() descending select p).ToList();

它将以降序对数组进行排序,您可以像这样显示前5名玩家:

代码语言:javascript
复制
for(int i = 0; i < 5; i++) {
    // show your player's score
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41241154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档