设计模式---备忘录模式(CSDN没有恢复迹象......)

设计模式—备忘录模式(CSDN没有恢复迹象……)

7f6bab1990e5495243a9ad1c.jpg

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class 人物状态
    {
        private int _血;
        private int _气;

        public 人物状态()
        {
            _气 = 100;
            _血 = 100;
        }

        public int 血
        {
            get { return _血; }
            set { _血 = value; }
        }

        public int 气
        {
            get { return _气; }
            set { _气 = value; }
        }

        public 存档 存档()
        {
            return new 存档(_血, _气);
        }

        public void 读档(存档 c)
        {
            this.气 = c.气;
            this.血 = c.血;
        }

        public void 战斗()
        {
            System.Random r = new System.Random();

            this._血 = r.Next(100);
            this._气 = r.Next(100);
        }

        public void ShowState()
        {
            Console.WriteLine(this.气 + " " + this.血);
        }
    }

    class 存档
    {
        private int _气;

        private int _血;

        public 存档(int x, int q)
        {
            this._气 = q;
            this._血 = x;
        }

        public int 气
        {
            get { return _气; }
        }

        public int 血
        {
            get { return _血; }
        }
    }

    class 管理器
    {
        private 存档 savedfile;

        public 存档 SavedFile
        {
            get { return savedfile; }
            set { savedfile = value; }
        }
    }

    class 调用者
    {
        public static void Main()
        {
            人物状态 r = new 人物状态();
            r.ShowState();

            管理器 g = new 管理器();
            g.SavedFile = r.存档();
            r.战斗();
            r.ShowState();
            r.读档(g.SavedFile);
            r.ShowState();
            Console.Read();
        }
    }
}
``