亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# 數組評分系統

C# 數組評分系統

C#
智慧大石 2022-10-23 15:59:14
我在為我的游戲整理計分系統時遇到問題。當我整理“HighScoresPointsLevel1”數組時出現問題,因為盡管數組以正確的順序顯示,但它與“HighScoresNameLevel1”沒有鏈接。換句話說,游戲的高分將分配給隨機玩家的名字。可能的解決方案?我在想,如果我能夠在 array.sort/array.reverse 內部傳遞兩個參數(HighScoresPointsLevel1,HighScoresNameLevel1),但問題是 array.reverse 接受兩個參數。我認為這會起作用的原因是,通過第一次調用array.sort,我能夠在數組“HighScoresLevel1”、“HighScoresNameLevel1”之間建立關系。這個問題有沒有可能的解決方案。任何幫助,將不勝感激。謝謝。     string PlayersName = "Player's Name";     float[] HighScoresLevel1 = new float[5];     float[] HighScoresPointsLevel1 = new float[5];     string[] HighScoresNameLevel1 = new string[5];     public static void addLastScoreLevel1(       float newScore,       float newPoints,        float[] HighScoresLevel1,       float[] HighScoresPointsLevel1,        string[] HighScoresNameLevel1,        string PlayersName)     {        if (newScore < HighScoresLevel1[4])        {            HighScoresLevel1[4] = newScore;            HighScoresPointsLevel1[4] = newPoints;            HighScoresNameLevel1[4] = PlayersName;            Array.Sort(HighScoresLevel1, HighScoresNameLevel1);            Array.Sort(HighScoresPointsLevel1);            Array.Reverse(HighScoresPointsLevel1);        }     }編輯:查看“Kieran Devlin”的反饋后,我已經實施了更改,到目前為止效果很好,但我在打印列表時遇到了問題。因此,在我的其他表單中,當嘗試在列表框中顯示玩家列表的內容時,列表框僅顯示 Game.Player。public partial class MainMenu : Form{    public static List<Player> GetPlayers(float newScore, float newPoints,     string PlayersName)    {        var players = new List<Player>();        var newPlayer = new Player        {            Name = PlayersName,            Points = newPoints,            Timer = newScore        };        players.Add(newPlayer);        var TopTenLevel1 = players.OrderByDescending(x => x.Timer).Take(10);        return players;    } }public partial class HighScoresMenu : Form{        foreach (var Player in MainMenu.GetPlayers(newScore, newPoints,         PlayersName))        {            ListBoxLevel1.Items.Add(Player);        }}
查看完整描述

1 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

使用對象對數據進行分組,為您提供更多上下文


public class Player {

    public string Name { get; set; }

    public int Points { get; set; }

    public int Level { get; set; }

}

然后你可以像這樣使用它:


var players = new List<Player>();

var newPlayer = new Player {

    Name = "Some name",

    Points = 10,

    Level = 3

};

highscore.Add(newPlayer);

如果你想獲得一個領域的前十名球員:


var topTenByLevel = players

                   .OrderByDecending(x => x.Level)

                   .Take(10);


查看完整回答
反對 回復 2022-10-23
  • 1 回答
  • 0 關注
  • 123 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號