跟大佬一起负责英雄类
英雄要针对敌方英雄,敌方小兵,以及敌方防御塔,
同时也受到三方面的伤害。
所以攻击函数写了三个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++;
}