#include #include "FighterInterface.h" #include "robot.h" robot::robot(string name, int max_hp, int strength, int speed, int magic) : fighter(name, max_hp, strength, speed, magic), max_energy(2 * magic), cur_energy(2 * magic), extra_damage(0) {} int robot::getDamage() { int damage = strength + extra_damage; extra_damage = 0; return damage; } void robot::reset() { hp = max_hp; cur_energy = max_energy; } bool robot::useAbility() { if(cur_energy - ROBOT_ABILITY_COST >= 0) { double a = cur_energy/double(max_energy); double b = pow(a, 4.0); double increase = strength * b; extra_damage = int(increase); cur_energy -= ROBOT_ABILITY_COST; return true; } return false; }