首页 > 其他分享 >备忘录模式

备忘录模式

时间:2022-10-14 15:26:35浏览次数:28  
标签:int hp 模式 备忘录 role mp func memento

备忘录模式

备忘录

package memento

type memento struct {
    hp int
    mp int
}

func NewMemento(hp,mp int) *memento {
    return &memento{
        hp:hp,
        mp:mp,
    }
}

游戏角色

package memento

type role struct {
    hp int
    mp int
}

func NewRole() *role {
    return &role{
        hp:100,
        mp:100,
    }
}

func (r *role)Save() *memento {
    return NewMemento(r.hp,r.mp)
}

func (r *role)Fight() {
    r.hp -= 10
    r.mp -= 10
}

func (r *role)Load(mt *memento) {
    r.hp = mt.hp
    r.mp = mt.mp
}

func (r *role)Display() {
    fmt.Printf("hp:%d,mp:%d\n",r.hp,r.mp)
}

备忘录管理者

当多个备忘录时,可以用栈来管理,这里省略

测试文件

package memento

func TestMemento(t testing.T) {
    r := NewRole()
    r.Display()
    me := r.Save()
    r.Fight()
    r.Display()
    r.Load(me)
    r.Display()
}

标签:int,hp,模式,备忘录,role,mp,func,memento
From: https://www.cnblogs.com/mathsmouse/p/16791651.html

相关文章

  • CH582芯片Sleep模式串口唤醒接收数据
    系统的休眠是由协议栈管理的,在进行休眠时无法进行数据接收,因此会收不到数据。芯片通过宏开启睡眠。在接收数据之前将串口模式切换为GPIO,当有数据过来,GPIO会产生由高电平到......
  • 中小学教育管理 00458 思维导图模式
    1.中小学教育管理(思维导图)......
  • 图解Java设计模式之装饰者模式
    图解Java设计模式之装饰者模式​​星巴克咖啡订单项目(咖啡馆)​​​​方案1-解决星巴克咖啡订单项目​​​​方案1-解决星巴克咖啡订单问题分析​​​​方案2-解决星......
  • 图解Java设计模式之桥接模式
    图解Java设计模式之桥接模式​​手机操作问题​​​​传统方案解决手机操作问题​​​​传统方案解决手机操作问题分析​​​​桥接模式(Bridge)-基本介绍​​​​桥接模式解......
  • 图解Java设计模式之设计模式七大原则
    图解Java设计模式之设计模式七大原则​​2.1设计模式的目的​​​​2.2设计模式七大原则​​​​2.3单一职责原则​​​​2.3.1基本介绍​​​​2.3.2应用实例​​​​......
  • 图解Java设计模式之设计模式面试题
    图解Java设计模式之设计模式面试题​​1.1Java设计模式内容介绍​​​​1.1.1先看几个经典的面试题​​​​1.1.2设计模式的重要性​​1.1Java设计模式内容介绍1.1.1先......
  • 图解Java设计模式之工厂模式
    图解Java设计模式之工厂模式​​简单工厂模式​​​​简单工厂模式​​​​工厂方法模式​​​​抽象工厂模式​​简单工厂模式看一个具体的需求看一个披萨的项目:要便于披......
  • 实战!工作中常用到哪些设计模式
    前言大家好,我是捡田螺的小男孩。平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了。如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化......
  • postgresql-主备同步模式测试
    测试1:synchronous_standby_names=*是否等同于synchronous_standby_names=any1(s1,s2,s3)结论:不等同ANY2(s1,s2):quorum,quorum,asyncANY1(s1,s2,s3):quorum,quorum,q......
  • 初识设计模式 - 迭代器模式
    简介迭代器设计模式(IteratorDesignPattern),也叫作游标设计模式(CursorDesignPattern)。迭代器模式将集合对象的遍历操作从集合类中拆分出来,放到迭代器类中,让两者的职责......