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

淘宝客cms网站怎么做站长工具下载app

淘宝客cms网站怎么做,站长工具下载app,wordpress外链跳转过渡页插件,广西壮族自治区民族医院我们 要实现打斗场景#xff0c;第一#xff0c;我们需要有打斗的双方#xff0c;一个是英雄#xff0c;一个是怪物#xff0c;他们都有自己的属性#xff0c;比如攻击#xff0c;防御#xff0c;血量。其次我们的英雄还会有武器。武器上有一些加成属性#xff0c;可以… 我们 要实现打斗场景第一我们需要有打斗的双方一个是英雄一个是怪物他们都有自己的属性比如攻击防御血量。其次我们的英雄还会有武器。武器上有一些加成属性可以帮英雄更好的打怪物武器也有多种武器可以让英雄进行选择。 首先我们做武器类的声明一个武器要有名称还基础伤害其次一些武器可能会有暴击吸血定身的效果我们要对此进行判断。由于我们并不实现武器这个类我们仅仅希望后面的实现的武器继承他的属性并实现所以我们武器类的属性都用纯虚函数来写。 #pragma once #includeiostream #includestring using namespace std;//抽象类 class Weapon { public://获取基础伤害virtual int getBaseDamage() 0;//获取吸血virtual int getSuckBlood() 0;//获取是否定身virtual bool getHold()0;//获取是否暴击virtual bool getCrit() 0;string m_WeaponName; //武器名称int m_BaseDamage;//基础伤害};我们有了武器类就可以细化做武器了我们这里就做两个武器一个是普通的小刀另外一个是比较厉害的屠龙刀我们先做小刀类的声明。小刀是武器所以它要继承武器类的属性并拥有自己的构造函数。虚函数可以实现动态多态 #pragma once#includeiostream#includeWeapon.h#includestringusing namespace std;class Knife :public Weapon{public:Knife();//获取基础伤害virtual int getBaseDamage() ;//获取吸血virtual int getSuckBlood() ;//获取是否定身virtual bool getHold();//获取是否暴击virtual bool getCrit();};有了小刀类的声明后我们可以在类外实现小刀这个类小刀没有别的属性所以我们只用在构造中把小刀这个名字和基础攻击力赋值然后获取攻击力的函数中返回基础攻击力就可以。 #includeKnife.hKnife::Knife(){this-m_BaseDamage 10;this-m_WeaponName 小刀;}int Knife::getBaseDamage(){return this-m_BaseDamage;}int Knife::getSuckBlood(){return 0;}bool Knife::getHold(){return false;}bool Knife:: getCrit(){return false;}我们声明屠龙刀类屠龙刀依旧是继承武器类此外作为一个强大的武器它还必须具有其他的属性它还有吸血暴击和可以让怪物定身的能力但是它的这些能力并不是一定会触发需要一些属性也就是概率来触发。 #pragma once //防止头文件重复编译#includeiostream#includeWeapon.h#includestringusing namespace std;class DragonSword :public Weapon{public:DragonSword();//获取基础伤害virtual int getBaseDamage();//获取吸血virtual int getSuckBlood();//获取是否定身virtual bool getHold();//获取是否暴击virtual bool getCrit();//吸血率暴击率定身率int SuckRate;int holdRate;int critRate;//传入概率 判断是否触发bool isTrigger(int rate);};屠龙刀的实现再构造中把它的基本属性赋值其他的属性我们通过一个成员函数来判断是否触发特效我们在构造中把触发特效的概率写出来然后在判断概率函数中设置一个随机数如果这个随机数比概率小则触发特效。 #includeDragonSword.hDragonSword::DragonSword(){this-m_BaseDamage 20;this-m_WeaponName 屠龙宝刀;this-SuckRate 20;this-holdRate 30;this-critRate 35;}int DragonSword::getBaseDamage(){return this-m_BaseDamage;}int DragonSword::getSuckBlood(){if (isTrigger(SuckRate)){return this-m_BaseDamage*0.5; //按照武器基础伤害一半吸血}return 0;}bool DragonSword::getHold(){if (isTrigger(holdRate)){return true;}return false;}bool DragonSword::getCrit(){if (isTrigger(critRate)){return true;}return false;}bool DragonSword::isTrigger(int rate){//通过isTrigger判断是否触发特效//随机一个0~100的数字//rand()%100 是0~99之间的随机数 1后是1~100之间的一个随机数//如果产生的随机数比设定的概率值小则发生否则不发生int num rand() % 100 1;if (num rate){return true;}return false;}有了武器后我们声明英雄类英雄除了基本属性外还要判断是否有武器有什么样的武器 #pragma once#includeiostream#includeWeapon.h#includestring#includeMonster.husing namespace std;class Monster;class Hero{public:Hero();string m_Name;//人名int m_Atk;//攻击力int m_Def;//防御力int m_Hp;//血量Weapon * weapon;//武器void EquipWeapon(Weapon * weapon);void Attack(Monster * monster);};英雄类的实现。 #includeHero.hHero::Hero(){this-m_Hp 500;this-m_Atk 45;this-m_Def 50;this-m_Name 刘法师;this-weapon NULL;}//装备武器void Hero::EquipWeapon(Weapon * weapon){this-weapon weapon;cout 英雄 this-m_Name 装备了武器 this-weapon-m_WeaponName endl;}void Hero::Attack(Monster * monster){int damage 0;int addHp 0;bool isHold false;bool isCrit false;if (this-weapon NULL) //武器为空没有加成{damage this-m_Atk;}else{//基础伤害damage this-m_Atk this-weapon-m_BaseDamage;//计算吸血addHp this-weapon-getSuckBlood();//计算定身isHold this-weapon-getHold();//计算暴击isCrit this-weapon-getCrit();if (isCrit) //暴击 伤害加成{damage damage * 1.5;cout 英雄的武器触发了暴击效果怪物受到了高额伤害伤害值 damage endl;}if (isHold){cout 英雄的武器触发了定身效果怪物停止攻击一回合 endl;}if (addHp){cout 英雄的武器触发了吸血效果英雄 this-m_Name 的血量增加了 addHp endl;}}//设置怪物定身monster-m_Hold isHold;//计算真实伤害int trueDamage (damage - monster-m_Def) 0 ? damage - monster-m_Def : 1;monster-m_Hp - trueDamage;this-m_Hp addHp;cout 英雄 this-m_Name 攻击了敌人 monster-m_Name 造成了伤害 trueDamage endl;}接下来我们就要声明怪物类怪物里除了基本属性外还有一些特殊属性比如是否被定身。 #pragma once#includeiostream#includeWeapon.h#includestring#includeHero.husing namespace std;class Hero;class Monster{public:Monster();string m_Name;int m_Hp;int m_Atk;int m_Def;bool m_Hold;void Attack(Hero * hero);}; 怪物类的实现 #includeMonster.hMonster::Monster() {this-m_Hp 300;this-m_Atk 70;this-m_Def 40;this-m_Hold false;this-m_Name 比克大魔王; }void Monster::Attack(Hero* hero) {if (this-m_Hold){cout 怪物 this-m_Name 被定身了本回合无法攻击 endl;return;}//计算攻击的伤害int damage (this-m_Atk - hero-m_Def ) 0 ? this-m_Atk - hero-m_Def : 1;hero-m_Hp - damage;cout 怪物 this-m_Name 攻击了英雄 hero-m_Name 造成了伤害 damage endl; }最后就是一个打斗的实现了 #includeiostream #includeHero.h #includeMonster.h #includeWeapon.h #includeKnife.h #includeDragonSword.h using namespace std;void play() {//创建怪物Monster * monster new Monster;//创建英雄Hero *hero new Hero;//创建武器Weapon * kinfe new Knife;Weapon * dragon new DragonSword;//让用户选择武器cout 请选择武器 endl;cout 1. 赤手空拳 endl;cout 2. 小刀 endl;cout 3. 屠龙刀 endl;int oper;cin oper;switch (oper){case 1:cout 你真牛X,你还是太年轻了 endl;break;case 2:hero-EquipWeapon(kinfe);break;case 3:hero-EquipWeapon(dragon);break;default:cout 没有你要选择的武器 endl;break;}getchar();//输入缓冲区里有个回车多获取一次值int round 1;while (true){getchar();system(cls);cout --当前第 round 回合开始----- endl;if (hero-m_Hp 0){cout 英雄 hero-m_Name 已挂游戏结束 endl;break;}hero-Attack(monster);if (monster-m_Hp 0){cout 怪物 monster-m_Name 已挂顺利通关 endl;break;}monster-Attack(hero);if (hero-m_Hp 0){cout 英雄 hero-m_Name 已挂游戏结束 endl;break;}cout 英雄 hero-m_Name 剩余血量 hero-m_Hp endl;cout 怪物 monster-m_Name 剩余血量 monster-m_Hp endl;round;}delete monster;delete hero;delete kinfe;delete dragon;}运行结果
http://www.yutouwan.com/news/466923/

相关文章:

  • 山西响应式网站制作深圳网站设计 深圳信科
  • 怎么查找一个网站开发时间广西网站建设seo优化
  • 建设厅企业锁在哪个网站登录化妆品电子商务网站建设规划书
  • 长沙建立网站老客户网站建设
  • 英文注册查询网站做网站算经商吗
  • 有哪些做婚礼平面设计的网站下载百度免费
  • 网站升级及政务新媒体建设方案WordPress清除文章缓存
  • 万网网站建设方案书 备案凡科登录电脑版
  • 一个网站专门做摩托车成都住建局官网查询电话
  • 阿里巴巴 网站 建设中国建设机械教育协会网站
  • 营销型企业网站建设步骤专业制作户口本
  • 集团公司网站建设策划网站建设的技巧
  • 做模型的网站做公司自主网站
  • 建筑工程网上报建网站一家三口的室内设计方案
  • 网站制作苏州企业魔贝课凡seo课程好吗
  • 成都 网站推广怎么知道一个网站是谁做的
  • 江门网站优化经验手机应用软件开发培训班
  • 网站怎么做彩页石家庄做网站时光
  • 律师网站建设 优帮云网络推广服务如何退费
  • 建设网站的市场环境湛江企业网站建设公司
  • 郑州网站开发手机app快速开发工具
  • 网站主办者有效证件电子件游戏开发工程师需要学什么
  • 做网站找什么公司网站建设3a模型是什么
  • 网站需要几个人大淘客可以做几个网站
  • 求个网站好人一生平安公司理念网站
  • wordpress每页显示数量现在网站优化
  • 临沂做网站需要多少钱化工行业网站
  • 网站运营的成本wordpress侧边栏浮动
  • 杭州cms建站模板下载做电影网站许可证
  • 化工行业网站设计企业核名查询系统是哪个