首页 / C# / C#-添加高分系统/保存
C#-添加高分系统/保存
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-添加高分系统/保存,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2613字,纯文字阅读大概需要4分钟。
内容图文
![C#-添加高分系统/保存](/upload/InfoBanner/zyjiaocheng/678/5b480c8decf2470c8afb9279c739e7fa.jpg)
所以我想知道如何创建一个高分系统.我用分数制作了一个简单的游戏,但是我想将高分保存在文件中,因此当应用程序运行时,您可以看到名称中的高分.
到目前为止,我的游戏代码(如果需要):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Guess_the_number_1
{
public partial class Form1 : Form
{
int randomNumber;
int score;
Random random;
public Form1()
{
InitializeComponent();
random = new Random();
}
private void Form1_Load(object sender, EventArgs e)
{
score = 0;
label1.Text = score.ToString();
}
private void buttonCheckGuess_Click(object sender, EventArgs e)
{
randomNumber = random.Next(0, 10);
if (Convert.ToInt32(textboxGuess.Text) == randomNumber)
{
MessageBox.Show("Your Guessed Correctly! The Number Is: " + textboxGuess.Text);
score += 10;
}
else if (Convert.ToInt32(textboxGuess.Text) < randomNumber)
{
MessageBox.Show("The Number Is Larger Than: " + textboxGuess.Text);
score -= 2;
}
else if (Convert.ToInt32(textboxGuess.Text) > randomNumber)
{
MessageBox.Show("The Number Is Smaller Than: " + textboxGuess.Text);
score -= 2;
}
else
{
MessageBox.Show("Your Guessed Incorrectly. The Random Number Is Not: " + textboxGuess.Text);
}
label1.Text = score.ToString();
}
private void buttonScore_Click(object sender, EventArgs e)
{
MessageBox.Show("Your score is " + score);
}
private void listScore_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
}
}
解决方法:
我要做的方法是将其序列化为XML.除了保存其他信息(例如玩家的姓名缩写)外,这还可以保存一些高分.为此,首先创建一个像这样的类:
[Serializable()]
public class HighScore {
public int Score { get; set; }
public string Initials { get; set; }
}
public List<HighScore> _highScores = new List<HighScore>();
您会将所有分数添加到集合类中:
// To save a high score
var score = new HighScore() { Score = 100, Initials = 'MAJ' };
_highScores.Add(score);
// ... add more scores if needed
然后,当您的应用程序退出时(或每当您想要保存高分时),您会将高分序列化为XML:
var serializer = new XmlSerializer(_highScores.GetType(), "HighScores.Scores");
using (var writer = new StreamWriter("highscores.xml", false))
{
serializer.Serialize(writer.BaseStream, _highScores);
}
最后,在应用程序加载时(或在任何时候),您都可以使用以下代码将XML反序列化为高分值集合:
// To Load the high scores
var serializer = new XmlSerializer(_entities.GetType(), "HighScores.Scores");
object obj;
using (var reader = new StreamReader("highscores.xml"))
{
obj = serializer.Deserialize(reader.BaseStream);
}
_highScores = (List<HighScore>)obj;
内容总结
以上是互联网集市为您收集整理的C#-添加高分系统/保存全部内容,希望文章能够帮你解决C#-添加高分系统/保存所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。