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

被折叠的 条评论
为什么被折叠?



