【发布时间】:2011-11-14 01:04:59
【问题描述】:
现在,我要为我的游戏制作记分牌。 程序将显示文本文件中的数据。
在程序中,我有球员姓名和分数的字符串数组。
这是我的流式阅读器代码:
public void ReadHighScores()
{
try
{
using (StreamReader sr = new StreamReader("highscore.txt"))
{
string line;
while ((line = sr.ReadLine()) != null)
{
string[] parts = line.Split(',');
for (int i = 0; i < 5; i++)
{
highScores.PlayerName[i] = parts[0];
highScores.Score[i] = parts[1];
}
}
}
}
catch (FileNotFoundException ex)
{
//IntializeHighScores();
//WriteHighScores();
}
catch (Exception ex)
{
// Handle unexpected exception
}
finally
{
// Close the file
}
}
这就是我绘制记分牌的方式:
for (int i = 0; i < 5; i++)
{
spriteBatch.DrawString(spriteFont, i + 1 + ". " + highScores.PlayerName[i].ToString()
+ "......" + highScores.Score[i].ToString(), new Vector2(350, 150 + 50 * (i)), Color.Red);
}
当我运行游戏时。成功从文本文件中读取数据。但它只显示文本文件中的最后一个数据。
我的文本文件包含:
Alpha, 3500
Beta, 3600
Gamma, 2200
Delta, 3400
Epsilon, 3600
并且程序只显示循环中的最后一个数据:
Epsilon 3600
Epsilon 3600
Epsilon 3600
Epsilon 3600
Epsilon 3600
我必须怎么做才能显示文本文件中的所有数据,而不仅仅是最后一个???
【问题讨论】:
标签: arrays xna streamreader text-files