diff options
Diffstat (limited to 'src/main/headers/Actor.hpp')
-rw-r--r-- | src/main/headers/Actor.hpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/headers/Actor.hpp b/src/main/headers/Actor.hpp new file mode 100644 index 0000000..7cc3be5 --- /dev/null +++ b/src/main/headers/Actor.hpp @@ -0,0 +1,40 @@ +#ifndef ACTOR_HPP +#define ACTOR_HPP + +#include <string> + +class Actor +{ +public: + const enum Type + { + PLAYER, ENEMY + } type; + + const unsigned maxHp; + const std::string name; + + Actor() = delete; + Actor(std::string _name, unsigned _maxHp, Type _type); + virtual ~Actor(); + + void damage(int amt); + void heal(int amt); + + // TODO shouldnt be done by the map ? + // bool move(int x, y); + + /* accessors */ + bool alive() { return _alive; } + unsigned hp() { return _hp; } + + int x() { return _x; } + int y() { return _y; } + +private: + bool _alive; + unsigned _hp; + int _x, _y; +}; + +#endif |