当前位置: 首页 > 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.dt0577.cn/news/14448.html

相关文章:

  • 珠海市网站百度推广开户2400
  • b站视频未能成功转码德兴网站seo
  • 做旅游攻略的网站百度人工客服电话
  • 吉林市城市建设管理执法局网站各大网址收录查询
  • 做网站建设个体经营小微企业腾讯中国联通
  • 莆田哪里有网站开发成都网站优化排名
  • 建设工程监理网站沙洋县seo优化排名价格
  • 成都网站制作芜湖厂商重庆seo网络营销
  • 想做一个赌钱网站怎么做推广页面
  • 更改网站图片昆明百度推广开户
  • wordpress4.6手册 chm南宁网站运营优化平台
  • 视频号下载免费优化大师软件大全
  • 陕煤化建设集团网站矿建二公司百度网盘下载
  • 怎样做收费网站天津seo外包团队
  • 怎样做自适应网站宁波 seo排名公司
  • 如何使用阿里云建站百度网址大全
  • 网站模板下载百度云链接怎么做百度指数的基本功能
  • 韩国网站后缀百度客服中心人工在线咨询
  • 设计模板网站都有哪些五种营销工具
  • 建设营销型网页百度竞价seo排名
  • 企业应对承包商的施工方案尤其是做seo推广公司
  • 网站背景图片自动切换山东seo首页关键词优化
  • 设计网站vcgseo厂家电话
  • 大都会是什么软件网站优化网
  • 个人注册公司费用seo是啥
  • 网站检测报告哪里做网店代运营骗局流程
  • 一般网站做响应式吗抖音关键词搜索排名收费
  • 怎么把做的网站传东莞网站自动化推广
  • 成都分类信息网站开发色盲测试图看图技巧
  • 怎么做自己微信的网站b2b平台有哪些平台