c++day5_homework英雄打怪兽,判断怪兽什么时候死

1.思维导图

 

2.代码实现

#include <iostream>

using namespace std;
int blood = 10000;
class Hero
{
protected:
    string name;
    int hp;
    int attck;
public:
    Hero()
    {
        cout<<"Hero no parameters"<<endl;
    }
    Hero(string name,int hp,int attck)
    {
        this->name = name;
        this->hp = hp;
        this->attck = attck;
        cout<<"Hero haave parameters"<<endl;
    }
    virtual void Atk()
    {
        blood-=0;
    }
};
class Master:public Hero
{
    int ap_atk = 50;
public:
    Master()
    {
        cout<<"Master no parameters"<<endl;
    }
    Master(string name,int hp,int attck,int ap_atk):Hero (name,hp,attck)
    {
        this->ap_atk = ap_atk;
        cout<<"Master haave parameters"<<endl;
    }
    void Atk()
    {
        blood-=(attck - ap_atk);
        cout<<"Master blood"<<blood<<endl;
    }
};
class Shooter:public Hero
{
    int ac_atk = 100;
public:
    Shooter()
    {
        cout<<"Shooter no parameters"<<endl;
    }
    Shooter(string name,int hp,int attck,int ac_atk):Hero (name,hp,attck)
    {
        this->ac_atk = ac_atk;
        cout<<"Shooter haave parameters"<<endl;
    }
    void Atk()
    {
        blood-=(attck - ac_atk);
        cout<<"shooter blood"<<blood<<endl;
    }
};

int main()
{

    Hero *p1 = new Master ("安琪拉",200,700,50);
    Hero *p2 = new Shooter ("艾琳",200,600,100);
    while(blood > 0)
    {
        p1->Atk();
        p2->Atk();
        cout<<"monster blood"<<blood<<endl;
    }
    return 0;
}

result

Hero haave parameters
Shooter haave parameters                                                                                                Hero haave parameters
Shooter haave parameters
Master blood9350
shooter blood8850
monster blood8850
Master blood8200
shooter blood7700
monster blood7700
Master blood7050
shooter blood6550
monster blood6550
Master blood5900
shooter blood5400
monster blood5400
Master blood4750
shooter blood4250
monster blood4250
Master blood3600
shooter blood3100
monster blood3100
Master blood2450
shooter blood1950
monster blood1950
Master blood1300
shooter blood800
monster blood800
Master blood150
shooter blood-350

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值