unit.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #pragma once
  2. #include <iostream>
  3. #include <vector>
  4. class Spell {
  5. //empty for allow to compile
  6. };
  7. class Unit {
  8. protected:
  9. std::vector <Spell> skills_;
  10. private:
  11. //personal growth
  12. int experience_;
  13. int level_;
  14. //connect with events
  15. int active_points_;
  16. int initiative_;
  17. //movement
  18. std::pair <int, int> location_; //x - first, y - second
  19. int movement_speed_;
  20. //attack action
  21. int agility_;
  22. int attack_range_;
  23. int damage_per_hit_;
  24. int energy_points_; //for physical attacks
  25. int intelligence_;
  26. int mana_points_; //for magic attacks
  27. int strength_;
  28. //durability
  29. int health_points_;
  30. int magic_defence_;
  31. int physic_defence_;
  32. public:
  33. Unit();
  34. virtual ~Unit() = delete;
  35. int getExperience();
  36. void setExperience(int value);
  37. int getLevel();
  38. void setLevel(int value);
  39. int getHealthPoints();
  40. void setHealthPoints(int value);
  41. int getManaPoints();
  42. void setManaPoints(int value);
  43. int getEnergyPoints();
  44. void setEnergyPoints(int value);
  45. int getActivePoints();
  46. void setActivePoints(int value);
  47. int getAttackRange();
  48. void setAttackRange(int value);
  49. std::pair<int, int> getLocation();
  50. void setLocation(int x, int y);
  51. int getMovementSpeed();
  52. void setMovementSpeed(int value);
  53. int getInitiative_();
  54. void setInitiative_(int value);
  55. int getDamagePerHit();
  56. void setDamagePerHit(int value);
  57. int getIntelligence();
  58. void setIntelligence(int value);
  59. int getStrength();
  60. void setStrength(int value);
  61. int getAgility();
  62. void setAgility(int value);
  63. int getMagicDefence();
  64. void setMagicDefence(int value);
  65. int getPhysicDefence();
  66. void setPhysicDefence(int value);
  67. };