#ifndef DUDE_H #define DUDE_H #include "behavior.h" class Dude : public Info { private: Coord m_pos; Map *p_map; int m_team; bool m_dead; bool m_success; PixelType m_inventory; PixelType m_under; int m_underResCount; char m_memory[DUDE_MEMORY_SIZE]; Action m_action; // action containing output com data Com m_com_data; // input com data public: Dude(const Coord &_pos, Map *_map, int &_team); const Action& getAction() { return m_action; } int getTeam(){ return m_team; } void setSuccess(bool success) { m_success = success; } void setInventory(PixelType item) { m_inventory = item; } void perish() { m_dead = true; } const Coord& getPos() { return m_pos; } void move(Dir d); void receiveComData(Dir dir, const char *data); void update(BehaviorFunction func); virtual bool getSuccess() const { return m_success; } virtual PixelType getInventory() const { return m_inventory; } virtual const Com& getCom() const { return m_com_data; } virtual PixelType getNear(Dir d) const; virtual int getInfo(Dir d) const; }; #endif // DUDE_H