Я хочу создать доску рекордов для своей игры.табло содержит 5 лучших результатов в текстовом файле
текстовый файл выглядит примерно так:
alpha, 3500
beta, 3600
gamma, 2200
delta, 3400
epsilon, 2000
и это мои коды:
[Serializable]
public struct HighScoreData
{
public string[] PlayerName;
public int[] Score;
public int Count;
public HighScoreData(int count)
{
PlayerName = new string[count];
Score = new int[count];
Count = count;
}
}
static HighScoreData highScores;
это коды для чтения данных из текстового файла и уже добавления сортировки в нем: попробуйте {
using (StreamReader sr = new StreamReader("highscore.txt"))
{
string line;
int i = 0;
//file = new StreamReader(filePath);
while ((line = sr.ReadLine()) != null)
{
string[] parts = line.Split(',');
highScores.PlayerName[i] = parts[0].Trim();
highScores.Score[i] = Int32.Parse(parts[1].Trim());
i++;
Array.Sort(highScores.Score);
}
}
}
, вот как я это рисую:
for (int i = 0; i < 5; i++)
{
spriteBatch.DrawString(spriteFont, i + 1 + ". " + highScores.PlayerName[i].ToString()
, new Vector2(200, 150 + 50 * (i)), Color.Red);
spriteBatch.DrawString(spriteFont, highScores.Score[i].ToString(),
new Vector2(550, 150 + 50 * (i)), Color.Red);
}
проблема в том, когда я запускаю игру, это только сортировка результатов, а не имя игрока.а также первая и вторая оценки в текстовом файле обозначены как «0».это выглядело так:
alpha 0
beta 0
gamma 2000
delta 2200
epsilon 3400
что мне делать, чтобы программа могла сортировать все данные в текстовом файле, а не только счет ...?