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

企业网站php开源系统小微企业做网站

企业网站php开源系统,小微企业做网站,网络公司网站建设,网络营销是营销的网络化吗一 什么是 模板方法#xff08;Template Method#xff09;模式 在固定步骤确定的情况下#xff0c;通过多态机制在多个子类中对每个步骤的细节进行差异化实现#xff0c;这就是模板方法模式能够达到的效果。 模板方法模式属于#xff1a;行为型模式。 二 模板方法Template Method模式 在固定步骤确定的情况下通过多态机制在多个子类中对每个步骤的细节进行差异化实现这就是模板方法模式能够达到的效果。 模板方法模式属于行为型模式。 二 模板方法Template Method模式能解决什么样子的问题 在固定步骤确定的情况下。 通过多态机制在各个子类中实现每个步骤的具体细节。 举例 2020年1月1号A公司有一个小游戏项目组开始开发一款游戏——开发单机闯关打斗类游戏类似街机打拳类游戏。 游戏策划需求游戏主角都是个战士攻击力不够强生命值比较多抗揍主角通过不断的往前走来闯关遇到敌人就进行攻击 主角生命值——1000为0时主角死亡游戏结束魔法值——0暂时用不上保留攻击力——200打敌人一下敌人失去多少点声明值 三个属性。 //敌人也会反击敌人也会距离近时主动攻击主角。          //主角生命值——1000为0时主角死亡游戏结束魔法值——0暂时用不上保留攻击力——200打敌人一下敌人失去多少点声明值 三个属性。          //技能“燃烧”——使用该技能可以使附近所有敌人每人失去500点生命值但是主角自身也会损失掉300点生命值。 2020年2月1号游戏扩展增加 法师 作为主角 //增加 法师 作为主角攻击力很强生命值比较少不抗揍         //主角生命值——800魔法值——200暂时用不上保留攻击力——300  三个属性。          //技能“燃烧”——使用该技能可以使附近所有敌人每人失去650点生命值但是主角自身会损失掉100点魔法值。 2020年3月1号游戏扩展增加牧师 作为主角   //增加 牧师 作为主角攻击力很弱生命值比较少不抗揍         //主角生命值——300魔法值——500暂时用不上保留攻击力——200  三个属性。          //技能“燃烧”——使用该技能可以使附近所有敌人每人失去200点生命值给自身英雄恢复200点生命值但是主角自身会损失掉200点魔法值。 2020年4月1号, 还有扩展5.1还有扩展。。。。 我们能知道的是随着游戏的变化我们应该怎么设计呢我们和游戏策划讨论后规定后续不管有多少新加入的角色他的技能都可以分为如下的几种 1.对于敌人的影响 2.对于自己数值的影响包括友军 3.动画效果在这里假定只有一种动画这里只是想处理没有 差别的具体的方法实现实际开发过程中每次打击的动画效果都应该不一样才合理 4.自身特殊的技能例如节假日搞的一些活动 由于技能攻击行为的每一个步骤都是确定的那么 针对 这个攻击的行为我们在这里使用 模版方法来完成 三 模板方法Template Method模式的一般实现 // 001templatemethod.cpp : 此文件包含 main 函数。程序执行将在此处开始并结束。 // 模版方法模式 //战士主角生命值——1000为0时主角死亡游戏结束魔法值——0暂时用不上保留攻击力——200打敌人一下敌人失去多少点声明值 三个属性。//技能“燃烧”——使用该技能可以使附近所有敌人每人失去500点生命值但是主角自身也会损失掉300点生命值。//法师主角攻击力很强生命值比较少不抗揍//主角生命值——800魔法值——200暂时用不上保留攻击力——300 三个属性。 //技能“燃烧”——使用该技能可以使附近所有敌人每人失去650点生命值但是主角自身会损失掉100点魔法值。 //注意在此程序中我们只是用了 生命值魔法值和“燃烧”技能的参数目的是为了学习 “模版方法”。#include iostream #include string #include crtdbg.h using namespace std;//Hero 为父类代表每个英雄的共同点 class Hero {public:Hero(string name,int left,int magic):m_name(name),m_left(left),m_magic(magic) {}virtual ~Hero() {}public://1.对于敌人的影响 // 2.对于自己数值的影响包括友军 // 3.动画效果在这里假定只有一种动画这里只是想处理没有 差别的具体的方法实现实际开发过程中每次打击的动画效果都应该不一样才合理 // 4.自身特殊的技能例如节假日搞的一些活动void JNattack() {if (!canuseJN()) {return;}effortEnemy();effortSelf();animation_effects();selfCustomize();}private:virtual void effortEnemy()0;virtual void effortSelf()0;void animation_effects() {cout Heros animation_effects endl;}virtual void selfCustomize()0;virtual bool canuseJN()0;protected:string m_name; //名字int m_left; //生命值int m_magic;// 蓝量 };//1.战士class zhanshiHero :public Hero { public :zhanshiHero(string name, int left, int magic) :Hero(name, left, magic) {}private:virtual void effortEnemy() {cout zhanshiHero JNattack effortEnemy endl;}virtual void effortSelf() {cout zhanshiHero JNattack effortSelf left-200 endl;m_left - 300;}virtual void selfCustomize() {cout zhanshiHero JNattack selfCustomize something endl;}virtual bool canuseJN() {if (this-m_left - 300 0) {cout zhanshi 血量剩余 this-m_left 可以使用技能 endl;return true;}else {cout zhanshi 血不够300无法使用技能 血量剩余 this-m_left endl;return false;}} };//2.法师class fashiHero :public Hero { public:fashiHero(string name, int left, int magic) :Hero(name, left, magic) {}private:virtual void effortEnemy() {cout fashiHero JNattack effortEnemy endl;}virtual void effortSelf() {cout fashiHero JNattack effortSelf magic-100 endl;m_magic - 100;}virtual void selfCustomize() {cout fashiHero JNattack selfCustomize something endl;}virtual bool canuseJN() {if (this-m_magic - 100 0) {cout fashi 蓝量剩余 this-m_magic 可以使用技能 endl;return true;}else {cout fashi 蓝量剩余 this-m_magic 无法使用技能 endl;return false;}} };int main() {std::cout Hello World!\n;zhanshiHero *pherozs new zhanshiHero(zszhangsan, 1000, 0);Hero *pherofs new fashiHero(fslisi, 800, 200);//Hero *pherofs1111111111 new fashiHero(aaaa, 80880, 2800);pherozs-JNattack();pherozs-JNattack();pherozs-JNattack();pherozs-JNattack();pherozs-JNattack();cout ---------------- endl;pherofs-JNattack();pherofs-JNattack();pherofs-JNattack();cout ---------******************------- endl;delete pherozs;delete pherofs;_CrtDumpMemoryLeaks();return 1; } 四 模板方法Template Method模式的扩展
http://www.w-s-a.com/news/350068/

相关文章:

  • 软文网站推广法dede5.7内核qq个性门户网站源码
  • 个人备案网站名称校园网站建设特色
  • vr超市门户网站建设班级网站怎么做ppt模板
  • 网站建设一般是用哪个软件刚开始做写手上什么网站
  • 用jsp做的网站源代码下载有哪些做红色旅游景点的网站
  • 网站开发的技术选型黄石市网站建设
  • 做直播网站需要证书吗专做宝宝的用品网站
  • 网站标题用什么符号网站制作交易流程
  • dede模板网站教程jsp网站搭建
  • 上海网站开发外包公司鲜花导购网页制作
  • 宿州外贸网站建设公司个人注册网站一般做什么
  • 小公司做网站用哪种服务器什么是网站代理
  • 青岛李村网站设计公司cms建站平台
  • 做saas网站可行吗许昌抖音推广公司
  • 网站建设找谁做seo基础知识培训
  • 微网站怎么做的好建设网站不会写代码
  • 广州外贸网站制作wordpress信息搜索插件
  • 福建高端网站建设个人公众号怎么制作教程
  • 企业网站有哪些举几个例子wordpress ie兼容插件
  • 高端的深圳网站页面设计福清市建设局官方网站
  • 安装网站到服务器合肥建设干部学校网站
  • 影视网站如何做销售案例网站
  • 建设网站对比方案龙岗网站开发公司
  • 网站开发标准网站建设公司兴田德润可信赖
  • 如何建设一个公众号电影网站自动seo优化
  • 个人网站能备案吗酱香拿铁采取了哪些网络营销方式
  • 网站建设及推广好做吗自己做的网站加入购物车价格
  • 涡阳在北京做网站的名人注册一个免费的网站
  • 三门峡建设环境局网站公司注册网上核名通道
  • 叶县建设局网站要看网海外域名是多少