您的位置:威尼斯官方网站 > 威尼斯正规官网 > 成员变量

成员变量

发布时间:2019-09-24 04:06编辑:威尼斯正规官网浏览(132)

    1) 角色类CRole为基类:

    构造函数、析构函数;

    分子变量:头像、HP、ATK、DEF、Lv,EXP;

    成员函数:火器攻击、跳跃。

    2)英雄类CHero继承于CRole类

    构造函数、析构函数;

    身体力行类新扩张能力踢腿、抱摔,给对方产生风险具体值由学生本身开展设定;

    3)敌人类CEnemy继承于CRole类

    构造函数、析构函数;

    增加产量技能劈掌、连环腿,给对方形成加害值由学生自身举行设定;

    4)战斗类CBattle

    构造函数、析构函数及其余成员函数

    两个HP伊始值为100,伊始打仗将来,英豪和仇人轮流攻击对方,掉血量=攻击方手艺损害值 ATK-DEF,当一方血量为0时,战争甘休,游戏者经验值扩张对应点数,当经历品级达一定期候,游戏用户等第进步。

    #include<iostream>#include<ctime>#include<cstdlib>using namespace std;class CRole//角色类:基类{    public:        CRole();        CRole(char *name,int ATK,int DEF,int Lv,int EXP);//构造函数        ~CRole(){};    public:        char *name;        int hp;        int ATK;        int DEF;        int Lv;        int EXP;    public:        void WpAttack();//武器攻击        void jump();//跳跃};CRole::CRole(char *name,int ATK,int DEF,int Lv,int EXP){    this->name = name;    this->hp = 100;    this->ATK = ATK;    this->DEF = DEF;    this->Lv = Lv;    this->EXP = EXP;}class CHero: public CRole//英雄类{    public :        CHero(){};        CHero(char *name,int ATK,int DEF,int Lv,int EXP):CRole(name,ATK,DEF,Lv,EXP){};//构造函数        ~CHero(){};    public:        void Kicking();//踢腿技能        void Wrestling();//抱摔技能    public:        int k_ATK;//踢腿技能攻击力        int w_ATK;//抱摔技能攻击力};void CHero::Kicking()//使用踢腿技能时,初始化踢腿技能攻击力{    k_ATK = 30;}void CHero::Wrestling()//使用抱摔技能时,初始化抱摔技能攻击力{    w_ATK = 20;}class CEnemy:public CRole//敌人类{    public :        CEnemy(){};        CEnemy(char *name,int ATK,int DEF,int Lv,int EXP):CRole(name,ATK,DEF,Lv,EXP){};//构造函数        ~CEnemy(){};    public:        void zp();//劈掌技能        void lht();//连环踢技能    public:        int z_ATK;//劈掌技能攻击力        int l_ATK;//连环踢技能攻击力};void CEnemy::zp()//使用劈掌技能时,初始化劈掌技能攻击力{    z_ATK = 20;}void CEnemy::lht()//使用连环踢技能时,初始化连环踢技能攻击力{    l_ATK = 30;}class CBattle//战斗类{    public :        CBattle();//构造函数        ~CBattle(){};    public:        void attacMode(CHero R1,CEnemy R2);//战斗函数    public:        int i;        int temp;};CBattle::CBattle(){    i = 1;    temp = 0;}void CBattle::attacMode(CHero R1,CEnemy R2){    srand(time;//生成随机种子    while(R1.hp>0&&R2.hp>0)//当英雄和敌人HP都大于0时继续战斗    {        temp = rand()%3;//生成0-2随机数        if//当i为奇数时英雄进行攻击        {            if//当随机数生成0时,英雄进行普通攻击            {                int harm = R1.ATK-R2.DEF;                R2.hp -= harm;                cout<<R1.name<<"进行普通攻击,对"<<R2.name<<"造成了"<<harm<<"点伤害n";            }            if//当随机数生成1时,英雄使用踢腿技能            {                R1.Kicking();                int harm = R1.ATK R1.k_ATK-R2.DEF;                R2.hp -= harm;                cout<<R1.name<<"使用踢腿"<<"进行攻击,对"<<R2.name<<"造成了"<<harm<<"点伤害n";            }            if//当随机数生成2时,英雄使用抱摔技能            {                R1.Wrestling();                int harm = R1.ATK R1.w_ATK-R2.DEF;                R2.hp -= harm;                cout<<R1.name<<"使用抱摔"<<"进行攻击,对"<<R2.name<<"造成了"<<harm<<"点伤害n";            }        }        if//当i为偶数时敌人进行攻击        {            if//当随机数生成0时,英雄进行普通攻击            {                int harm = R2.ATK-R1.DEF;                R1.hp -= harm;                cout<<R2.name<<"进行普通攻击,对"<<R1.name<<"造成了"<<harm<<"点伤害n";            }            if//当随机数生成1时,敌人使用劈掌技能            {                R2.zp();                int harm = R2.ATK R2.z_ATK-R1.DEF;                R1.hp -= harm;                cout<<R2.name<<"使用劈掌"<<"进行攻击,对"<<R1.name<<"造成了"<<harm<<"点伤害n";            }            if//当随机数生成2时,敌人使用连环踢技能            {                R2.lht();                int harm = R2.ATK R2.l_ATK-R1.DEF;                R1.hp -= harm;                cout<<R2.name<<"使用连环踢"<<"进行攻击,对"<<R1.name<<"造成了"<<harm<<"点伤害n";            }        }        i  ;    }    i = 0;    if(R1.hp<=0)    {        cout<<R1.name<<"死亡n";        R2.EXP  =100;        if(R2.EXP>=100)        {            R2.Lv  ;            cout<<R2.name<<"获得经验"<<100<<" 升级,当前等级为:"<<R2.Lv<<endl;        }        cout<<R2.name<<"获胜";    }    if(R2.hp<=0)    {        cout<<R2.name<<"死亡n";        R1.EXP  =100;        if(R1.EXP>=100)        {            R1.Lv  ;            cout<<R1.name<<"获得经验"<<100<<" 升级,当前等级为:"<<R1.Lv<<endl;        }        cout<<R1.name<<"获胜";    }}int main(){    CHero yx("英雄",5,2,1,0);    CEnemy dr("敌人",4,2,1,0);    CBattle battle;    battle.attacMode;}
    

    代码达成图:

    图片 1

    本文由威尼斯官方网站发布于威尼斯正规官网,转载请注明出处:成员变量

    关键词: