当前位置: 首页 > news >正文

景安网站备案要多久网站添加新关键词

景安网站备案要多久,网站添加新关键词,百度用户服务中心人工电话,哪个网站是专门为建设方服务的在读《大话设计模式》&#xff0c;在此记录有关C实现备忘录模式。 场景引入&#xff1a;游戏中的存档&#xff0c;比如打boss之前记录人物的血量等状态。 下面代码是自己根据理解实现的存档人物血量功能。 #include <iostream>using namespace std;//声明玩家类 class …

在读《大话设计模式》,在此记录有关C++实现备忘录模式。

场景引入:游戏中的存档,比如打boss之前记录人物的血量等状态。

下面代码是自己根据理解实现的存档人物血量功能。

#include <iostream>using namespace std;//声明玩家类
class GamePlayer {
public:GamePlayer(int volume = 100) :bloodVolume(volume) {};void setBloodVolume(int volume) {bloodVolume = volume;};void decreaseBloodVolume(int volume) {if (bloodVolume < volume){bloodVolume = 0;}else {bloodVolume = bloodVolume - volume;}}int getBloodVolume() {return bloodVolume;};void showBloodVolume() {std::cout << "当前角色血量为" << bloodVolume << std::endl;}private:int bloodVolume;	//血量
};//声明备忘录类
class memorandum {
public:void setMemor(GamePlayer& setPlayer){std::cout << "正在存档..." << std::endl;this->player.setBloodVolume(setPlayer.getBloodVolume());}void getMemor(GamePlayer& getPlayer){std::cout << "正在读档..." << std::endl;getPlayer.setBloodVolume(player.getBloodVolume());}private:GamePlayer player;
};int main()
{GamePlayer player(60);	player.showBloodVolume();memorandum playerMemory;//存档playerMemory.setMemor(player);//模拟玩家受到攻击player.decreaseBloodVolume(20);player.showBloodVolume();//回档playerMemory.getMemor(player);player.showBloodVolume();return 0;
}

上面这段代码,声明了一个备忘录类,传入要存档的对象,获取其数据,临时存储在private的成员变量中。读档的时候引用传入玩家类,根据需要拷贝原先存储的数据。但是如果这时候需要添加蓝量相关的数据存储,需要修改的代码很多,首先是备忘录类中函数获取的数据要修改。然后玩家类中要新添加操作蓝量对应的接口。将备忘录类放在玩家类中,可以避免这些接口的声明

代码如下:

#include <iostream>
#include <memory>using namespace std;//声明玩家类
class GamePlayer {
public:GamePlayer(int volume = 100) :bloodVolume(volume) {};//声明备忘录类class memorandum {public:int bloodVolume;memorandum(int bloodNum) :bloodVolume(bloodNum) {};};void setBloodVolume(int volume) {bloodVolume = volume;};void decreaseBloodVolume(int volume) {if (bloodVolume < volume){bloodVolume = 0;}else {bloodVolume = bloodVolume - volume;}}int getBloodVolume() {return bloodVolume;};void showPlayerState() {std::cout << "当前角色血量为" << bloodVolume << std::endl;}//存档void savePlayerState() {std::cout << "存档中..." << std::endl;memor = std::make_shared<memorandum>(bloodVolume);}void readPlayerState() {std::cout << "读档中..." << std::endl;bloodVolume = memor->bloodVolume;		//读取人物血量}private:int bloodVolume;	//血量std::shared_ptr<memorandum> memor;
};int main()
{GamePlayer player(60);	player.showPlayerState();player.savePlayerState();//模拟玩家受到攻击player.decreaseBloodVolume(20);player.showPlayerState();//读档档player.readPlayerState();player.showPlayerState();//再次受到攻击player.decreaseBloodVolume(10);player.savePlayerState();player.readPlayerState();	//读档player.showPlayerState();	//展示当前数据return 0;
}

这时,如果存档和读档更多的数据比如蓝量,怒气值,经验等,客户端代码不需要修改,仅需要修改玩家类中的代码。

http://www.15wanjia.com/news/179824.html

相关文章:

  • wordpress做视频网站吗宣传手册设计
  • 仓库改造类网站怎么做河南视频网站建设公司
  • 网站推广方案策划工商网站查询个人信息
  • 高端网站定制开发设计制作做网站都要多少钱
  • soho的外贸网站搜索引擎yandex入口
  • 怎么增加网站反链深圳东门老街
  • 国产做爰网站视频网站logo怎么做的
  • 邵阳优秀网站建设mui做的h5网站案例
  • 万全做网站wl17581营销型网站建设的意义
  • 做a视频网站拓者吧官网
  • 绘本馆借阅网站开发无锡网站建设专家
  • 百度网站v2升级到v3怎么做企业系统管理平台
  • 网站开发协议合作个人建设网站论文
  • 网站备案ftp密码广州新闻最新消息10条
  • 河北省建设部网站网站开发前台开发
  • 舟山企业网站建设公司企业网站建设感想
  • 杭州制作网站的公司简介wordpress优化教程
  • 重庆企业免费建站免费素材网站素材库
  • 上海建设厅焊工证查询网站国际贸易综合服务平台
  • 淘宝优惠劵做网站模版开发一个平台app需要多少钱
  • 电子商务网站建设新手企业网站设计好的缺点有哪些
  • 公司网站页脚专做耐克阿迪鞋网站
  • php企业网站模板下载自己制作的网站上传到服务器后怎么原来的网页没有变
  • 化纤公司网站建设上海网站建设开发公司
  • 农村建设集团有限公司网站首页电商网站建设效果
  • 网站后台怎么修改文字海口网站开发
  • 山东省住房和城乡建设厅网站定额站wordpress清空文章备份并对齐id
  • 微网站开发教材镇江金山网镇江新闻
  • 海外制作网站如何由网页生成网站
  • 河南企起网站建设网站怎么做排名呢