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

这篇博客通过一个简单的C#代码示例介绍了备忘录模式,展示了如何在战斗游戏中保存和恢复角色的状态。首先定义了人物状态类,包含血量和气两个属性,并实现了存档和读档方法。接着创建了存档类用于存储状态,以及管理器类来保存存档。最后在调用者类中,模拟了角色战斗前后的状态变化,通过备忘录模式恢复了战斗前的状态。
 设计模式---备忘录模式(优快云没有恢复迹象......)

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();
        }
    }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值