#include<iostream>
using namespace std;
//状态存储箱
class Roleststemento
{
public:
int attack;
int defends;
public:
Roleststemento(int m_attc, int m_defends):attack(m_attc),defends(m_defends){}
};
//游戏角色
class gamerole
{
private:
int attack;
int defends;
public:
//初始化
void init()
{
attack=100;
defends=100;
}
//战斗
void fight()
{
attack=0;
defends=0;
}
//保存进度
Roleststemento* savestate()
{
return (new Roleststemento(attack,defends));
}
//恢复进度
void recover(Roleststemento s)
{
attack = s.attack;
defends = s.defends;
}
void show()
{
cout<<attack<<endl;
cout<<defends<<endl;
}
};
//角色状态管理者
class rolemanger
{
public:
Roleststemento *s;
};
int main()
{
gamerole *lixiaoming = new gamerole();
lixiaoming->init();
lixiaoming->show();
rolemanger *beifen = new rolemanger();
beifen->s = lixiaoming->savestate();
lixiaoming->fight();
lixiaoming->show();
lixiaoming->recover(*beifen->s );
lixiaoming->show();
return 0;
}
相关推荐
基于Xilinx Artix7 的FPGA高级应用 (二):千兆以太网通信(实战篇)第一期
本项目是基于Xlinx Artix7 XC7A35T芯片 以太网芯片选用的是RTL8211EG PHY芯片 MAC 和PHY接口标准是GMII 开发工具是vivado 2018.3 我们先来复习一下以太网的基本通信原理: 当我们的计算机需要与局域网中另外的设备进行通信的时候,需要将数据传输到网卡进行编码,然后传输到线上,经过另一个设备的网卡解码成该设备能读取的数据。 关于以太网协议的知识在原理篇中已经讲过,不再重复,下面直接看接收代码: 首先注意我们的MAC和PHY通信选择的是GMII接口标准,发送数据一
D23:C#设计模式之二十二备忘录模式(Memento Pattern)【行为型】
一、引言 今天我们开始讲“行为型”设计模式的第十个模式,该模式是【备忘录模式】,英文名称是:Memento Pattern。按老规矩,先从名称上来看看这个模式,个人的最初理解就是对某个对象的状态进行保存,等到需要恢复的时候,可以从备忘录中进行恢复。生活中这样的例子也能经常看到,如备份电话通讯录,备份操作操作系统,备份数据库等。如果我们想恢复对象的状态,那么我们可能首先想到的是把对象保存下来,...
等保: Postgresql配置ssl链接
等保: postgresql配置ssl链接完整方案和避坑指南
C#设计模式之二十二备忘录模式(Memento Pattern)【行为型】
C#设计模式之二十二备忘录模式(Memento Pattern)【行为型】 原文:C#设计模式之二十二备忘录模式(Memento Pattern)【行为型】一、引言 今天我们开始讲“行为型”设计模式的第十个模式,该模式是【备忘录模式】,英文名称是:Memento Pattern。按老规矩,先从名称上来看看这个模式,个人的最初理解就是对某个对...
20道SpringSecurity常见面试题汇总(超详细回答 !!!)
本文中,我们将探讨一些与 Spring Security 相关的面试问题。Spring Security 是一款流行的 Java 应用程序安全框架,它提供了一套全面且易于使用的安全解决方案。
人工智能面试总结-分类与聚类
目录说说常用的分类算法,以及各自的优缺点?说说为什么正确率有时不能有效评估分类算法?说说什么样的分类器最好?说说聚类算法有哪些衡量标准?(选看)各聚类算法性能比较汇总说说什么是聚类,你知道哪些聚类算法?具体展开介绍你知道的聚类算法?说说K-Means聚类算法流程?说说K-Means聚类算法如何调优?说说K-Means聚类算法如何选择初始点?说说K-Means聚类聚的是特征还是样本?说说K-Means聚类的特征距离是如何计算的?说说聚类与分类的区别?手撕K-Means聚类 说说常用的分类算法,以及各自的优缺点
Java设计模式(二十二)行为型- 备忘录模式 Memento Pattern(史上最全备忘录模式)与使用场景以及优缺点
备忘录模式
手把手教你学Simulink--进阶电机控制场景实例:基于Simulink的直流电机双闭环调速系统抗负载扰动仿真
摘要:本文基于Simulink平台构建直流电机双闭环调速系统,重点研究其在工业传送带场景下的抗负载扰动性能。系统采用转速外环(稳速)和电流内环(限流)的嵌套结构,通过工程法整定PI参数,实现了转速跌落<10%、恢复时间<0.5s的优异抗扰性能。仿真结果表明,相比单闭环系统,双闭环控制使转速跌落率降低47%,恢复时间缩短75%。文中详细介绍了数学模型建立、Simulink模块实现及参数优化方法,并提供了完整代码和模型文件,为电机控制系统设计提供实用参考。
JAVA 二十三种设计模式大全(二十二)备忘录模式(Memento Pattern)
概念 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。 设计 备忘录模式,其实也就是对一个持续变化的量或者对象做好记录,给用户一个“反悔”的机会。 类似于ctrl + z,允许回退到历史的某个时间点,当然也是有范围的一段时间。 这里使用一个持续变化的随机数来模拟用户的输入,设置一个备忘录,每2秒记录一次当前随机数的值,以此来达到“备忘”的效果。 只有两个类 就不贴设计图了,直接上代码 代码 // 备忘录 public class GM
在 Windows 11 下运行 OminiParse V2,详细教程【含问题解决细节】
OmniParser V2 是微软推出的 GUI 智能体解析工具,可将屏幕截图转换为结构化元素,帮助 LLM 理解和操作界面。它在检测小图标和推理速度上显著提升,延迟降低 60%,并支持多种 LLM。
块存储:AIO的直接写流程注释
提交io流程中aio_write之前函数的注释,可参考“块存储:AIO的直接读流程注释”。
二十二、备忘录模式
1.概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作,如 Word、记事本、Photoshop、IDEA等软件在编辑时按 Ctrl+Z 组合键时能撤销当前操作,使文档恢复到之前的状态;还有在 浏览器 中的后退键、数据库事务管理中的回滚操作、玩游戏时的中间结果存档功能、数据库与操作系统的备份操作、棋类游戏中的悔棋功能等都属于这类。 ...
Open3D——RANSAC拟合球面【2026最新版】
RANSAC三维点云球面拟合,博客长期更新,本文最新更新时间为:2026年3月5日。
备忘录模式(二十二)
1. 备忘录模式
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
【Java设计模式】二十二、备忘录模式
提供了状态恢复机制来恢复对象数据黑箱模式下,除了发起人,其他对象均不可更改或者访问备份对象的信息简化了发起人角色类,它自己不需要去保存其内部各个状态的备份,而是信息存备忘录对象后,交给管理者对象统一管理很明显,如果保存状态很多,则管理者类存储的备份者对象就很多,会占用大量内存需要保存和恢复中间数据,如游戏中间数据的临时存档需要提供一个可回滚的场景时,如撤销。
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
十二、状态模式与备忘录模式详解
十二、状态模式与备忘录模式详解 18.状态模式 18.1.课程目标 1、 掌握状态模式和备忘录模式的应用场景。 2、 了解状态机实现订单状态流转控制的过程 3、 掌握状态模式和策略模式的区别。 4、 掌握状态模式和责任链模式的区别。 5、 掌握备忘录模式在落地实战中的压栈管理。 18.2.内容定位 1、如果参与电商订单业务开发的人群,可以重点关注状态模式。 2、如果参与富文本编辑器开发的人群,可以...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
设计模式(二十二):行为型之备忘录模式
备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤例如很多软件都提供了撤销(Undo)操作,如 Word、记事本、Photoshop、IDEA等软件在编辑时按 Ctrl+Z 组合键时能撤销当前操作定义又叫快照模式在不破坏封装性的前提下,捕获一个对象的内部状态并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。
设计模式(十二) — 备忘录模式
编程中的后悔药——备忘录模式 文章目录编程中的后悔药——备忘录模式备忘录模式的定义备忘录模式的使用场景备忘录模式的实例小结优点缺点 备忘录模式的定义 在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样,以后就可以将该对象恢复到原先保存的状态。 备忘录模式的使用场景 需要保存一个对象在某一时刻的状态或部分状态。 如果用一个接口来让其他对象得到这些状态,将会暴露对象的实现...
第二十二章 备忘录模式
备忘录模式提供了一种对象状态的撤销实现机制,当系统中某一个对象需要恢复到某一历史状态时可以使用备忘录模式进行设计. 备忘录模式(memento pattern)定义: 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态.
软件设计模式学习(二十二)备忘录模式
备忘录模式提供了一种对象状态的撤销实现机制,当系统中某一对象需要恢复到某一历史状态时可以使用备忘录模式来进行设计 模式动机 人人都有后悔的时候,在软件使用过程中难免会出现一些误操作,如不小心删除了某些文字或图片,数据填入错误等,对于这些误操作,需要提供一种后悔药机制,让系统可以回到误操作前的状态,这就是备忘录模式的模式动机 模式定义 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。备忘录模式是一种对象行为型模式,其别名为 Toke..
设计模式详解(二十二)——备忘录模式
一、场景问题 某手游公司经营一款中国象棋游戏,在用户的反馈中发现一些用户由于屏幕操作失误经常出现下错棋的情况,但是系统并未提供撤销的功能,现需要设计一套撤销的功能 可以回退棋子状态 可以取消回退 请设计一条切实可用的程序。 二、传统解决方案 一种解决思路就是每个棋子对象存储自己走过的快照信息,根据不同的时间恢复到指定的状态。这种方式简单可行,但是过多的信息混合到实体对象中,导致对象臃肿,违背单一职责原则。针对这种情况,我们可以进行指责分离,抽出一个单独的备忘录来优化。这就引出了本文的主题——备忘录模式。
4034



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



