adding cs142 code
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
#include <cmath>
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user