我正在用C#写一个俄罗斯方块小游戏,基本功能已经实现。
现在有一个问题,不知道如何来保存我的游戏的得分记录!
我现在的初步想法是,游戏可以保存最高的10次得分记录!每次游戏打开时都可以读取以前的得分记录。而不是说说每次玩玩游戏时只能找到本次的得分!
现在就是不知道如果来对这些得分的信息进行保存,是以文件的形式存储呢还是其他的方法!有谁做过类似的东西,帮小弟指点指点!

解决方案 »

  1.   

    二进制序列化        private void button1_Click(object sender, EventArgs e)
            {
                USERS user = new USERS();
                user.USER_ID = 123;
                user.USER_NAME = "dahuilang";
                user.DESCRIPTION = "woshidahuilang";            BinaryFormatter bf = new BinaryFormatter();
                FileStream fileStream = new FileStream("D:\\profile.bin", FileMode.Create);            bf.Serialize(fileStream, user);
            }        private void button2_Click(object sender, EventArgs e)
            {            FileStream fileStream = new FileStream("D:\\profile.bin", FileMode.Open);
                BinaryFormatter bf = new BinaryFormatter();
                USERS uu = (USERS)bf.Deserialize(fileStream);
            }
      

  2.   

    xml序列化         public static void SerializeObject(object @obj, string @fileName)
            {
                XmlSerializer serializer = null;
                FileStream fs = null;
                try
                {
                  
                    serializer = new XmlSerializer(@obj.GetType());
                   
                    fs = new FileStream(@fileName, FileMode.Create);
                    
                    serializer.Serialize(fs, @obj);
                }
                catch (Exception)
                {
                }
                finally
                {
                    
                    fs.Close();
                }
            }MyXmlSerializer.DeserializeObject(typeof(Config), FSRSS_CONFIG_FILE);
     public static object DeserializeObject(Type @type, string @fileName)
            {
                XmlSerializer serializer = null;
                FileStream fs = null;
                object obj = null;
                try
                {
                  
                    serializer = new XmlSerializer(@type);  
                  
                    fs = new FileStream(@fileName, FileMode.Open);
                   
                    obj = serializer.Deserialize(fs);
                    //return
                    return obj;
                }
                catch (Exception)
                {
                    return null;
                }
                finally
                {           
                   
                    fs.Close();
                }
            }
      

  3.   

    保存成txt文件  再读出来   用哪一种方法都行
        private void button1_Click(object sender, EventArgs e)
            {
                using (StreamReader mySr = new StreamReader("D:\\asd.txt", Encoding.UTF8))
                {
                    content = mySr.ReadToEnd();
                }
                richTextBox1.Text = content;
            }        private void button2_Click(object sender, EventArgs e)
            {
                string content = richTextBox1.Text;
                using (StreamWriter mySw = new StreamWriter("D:\\asd.txt", false, Encoding.Default))
                {
                    mySw.Write(content);
                }
            }