Entity.h 933 Bytes
Newer Older
Noah Olsen's avatar
Noah Olsen committed
1
// "Copyright [year] <Copyright Owner>"
Noah Olsen's avatar
commit  
Noah Olsen committed
2 3 4 5 6 7
#ifndef ENTITY_H
#define ENTITY_H

class MoveSet;

class Entity {
Noah Olsen's avatar
Noah Olsen committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
  public:
    bool checkHealth();
    void move();
    void setPos();
    int getCol() {
        return colPos;
    }
    int getRow() {
        return rowPos;
    }
    virtual void action() const = 0;

  protected:
    // MoveSet* moves;
    int colPos;
    int rowPos;
    int con;
    int str;
    int dex;
Noah Olsen's avatar
commit  
Noah Olsen committed
27 28 29
};

class Player : public Entity {
Noah Olsen's avatar
Noah Olsen committed
30 31 32 33 34 35 36 37
  public:
    Player();
    void action();
    void setClass(char Class);

  private:
    // Vector of inventory items
    // Vector of equipped items
Noah Olsen's avatar
commit  
Noah Olsen committed
38 39 40
};

class Enemy : public Entity {
Noah Olsen's avatar
Noah Olsen committed
41 42 43 44 45 46 47 48 49 50 51 52
  public:
    Enemy(bool boss);
    void action();
    void setBossClassByChoice(int boss);
    void setBossClassByRand();
    void setClassByRand();
    void setClassByChoice(int monster);
    bool seesPlayer();

  private:
    // Vector of drop items
    // Vector of equipped items
Noah Olsen's avatar
commit  
Noah Olsen committed
53 54
};

Noah Olsen's avatar
Noah Olsen committed
55
#endif