#ifndef ACTOR_HPP #define ACTOR_HPP #include 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