团队作业1

跟大佬一起负责英雄类

英雄要针对敌方英雄,敌方小兵,以及敌方防御塔,

同时也受到三方面的伤害。

所以攻击函数写了三个orz。

此外,他还会升级、加buff、回血(还有时间限制这里我觉得有点烦嘤嘤嘤)

class hero
{
 public:
  string name;
  int exp,level,speed,attack,location,time1,time2;
  double blood,buff,bloodmax;
 void decreaseblood(int d);//被扣血

void recoverblood(int i);//回复血量

void update();//升级
void attackscale(hero &h);//攻击敌方英雄
void attacktower(tower &t);//攻击塔

void attacksoldier(soldier &s);//攻击小兵
void move();//移动
};
void hero::decreaseblood(int d)
{
blood = blood - d;
 if(blood<0)return level+attack*buff;
 return level;
}

void hero::recoverblood()
{
 if(time1-time2>10)
 {
  pos=0;blood=bloodmax;
 }
}

void hero::update()
{
 level=exp/1000+1;if(level>15)level=15;
 buff=(level+bloodmax/500+exp/2000)/100.0+1;
 bloodmax=blood+level*10+exp/100;
}
void hero::attackscale(hero &h)
{
h.blood = h.blood - attack;
}
void hero::attacktower(tower &t)
{
t.blood = t.blood - attack;
}
void hero::move()
{
location++;
}

原文地址:https://www.cnblogs.com/wbl1115/p/9200853.html