45 lines
783 B
C
45 lines
783 B
C
|
#ifndef __FIGHTER_H__
|
||
|
#define __FIGHTER_H__
|
||
|
|
||
|
#include <ostream>
|
||
|
#include "FighterInterface.h"
|
||
|
|
||
|
class fighter : public FighterInterface
|
||
|
{
|
||
|
private:
|
||
|
string name;
|
||
|
|
||
|
protected:
|
||
|
int max_hp;
|
||
|
int hp;
|
||
|
int strength;
|
||
|
int speed;
|
||
|
int magic;
|
||
|
|
||
|
public:
|
||
|
fighter(string, int, int, int, int);
|
||
|
// virtual ~fighter();
|
||
|
|
||
|
string getName();
|
||
|
|
||
|
int getMaximumHP();
|
||
|
int getCurrentHP();
|
||
|
int getStrength();
|
||
|
int getSpeed();
|
||
|
int getMagic();
|
||
|
|
||
|
virtual string get_type() = 0;
|
||
|
|
||
|
virtual int getDamage() = 0;
|
||
|
void takeDamage(int damage);
|
||
|
virtual void reset() = 0;
|
||
|
virtual void regenerate();
|
||
|
virtual bool useAbility() = 0;
|
||
|
|
||
|
bool isSimplified();
|
||
|
|
||
|
friend ostream & operator<<(ostream & os, fighter & a);
|
||
|
};
|
||
|
|
||
|
#endif
|