Advertisement
baadgeorge

classes h

Jun 4th, 2021
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.02 KB | None | 0 0
  1. #pragma once
  2.  
  3. class Location
  4. {
  5. protected:
  6. int X; //координата Х
  7. int Y; //координата Y
  8. public:
  9. Location(int _X, int _Y); //конструктор
  10. ~Location(); //деструктор
  11.  
  12. int GetX(); //функция получения координаты Х
  13. int GetY(); //функция получения координаты Y
  14. void SetX(int _X); //функция задания координаты Х
  15. void SetY(int _Y); //функция задания координаты Y
  16. }; //class Location
  17.  
  18. class Point : public Location
  19. {
  20. protected:
  21. bool isVisible; //флаг видимости точки
  22. public:
  23. Point(int _X, int _Y);
  24. ~Point();
  25.  
  26. virtual void Show(); //функция отображения точки
  27. virtual void Hide(); //функция скрытия точки
  28. void MoveTo(int NewX, int NewY); //функция перемещения точки по новым координатам
  29. void Drag(int Step); //функция движения точки
  30. }; //class Point
  31.  
  32. class Wheel : public Point
  33. {
  34. protected:
  35. int Radius; //радиус колеса
  36. double Angle; //угол поворота спиц колеса
  37. public:
  38. Wheel(int _X, int _Y, int _Radius);
  39. ~Wheel();
  40.  
  41. virtual void Show(); //функция отображения колеса
  42. virtual void Hide(); //функция скрытия колеса
  43. void SetAngle(double _Angle); //функция задания угла
  44. double GetAngle(); //функция получения угла
  45. }; //class Wheel
  46.  
  47. class Interf
  48. {
  49. public:
  50. virtual void Vent(HPEN penVent, HBRUSH brushVen) = 0; //функция отображения трубы мельницы
  51. virtual void Top(HBRUSH brushTop) = 0; //функция отображения крыши мельницы
  52. virtual void Bottom(HBRUSH brushBottom) = 0; //функция отображения основания мельницы
  53. virtual void Window(HPEN penWindow, HBRUSH brushWindow) = 0; //функция отображения окна мельницы
  54. virtual void Outbuilding(HPEN penOutbuilding, HBRUSH brushOutbuilding) = 0; //функция отображения пристройки мельницы
  55. virtual void WheelShow() = 0; //функция отображения колеса мельницы
  56. }; //class Init
  57.  
  58. class Grinder : public Point, public Interf
  59. {
  60. protected:
  61. int Scale; //масштаб мельницы
  62. bool isRotating; //флаг вращается ли колесо
  63. Wheel wheel; //колесо
  64.  
  65. public:
  66. Grinder(int _X, int _Y, int _Scale, double _Angle);
  67. ~Grinder();
  68.  
  69. virtual void Vent(HPEN penVent, HBRUSH brushVen);
  70. virtual void Top(HBRUSH brushTop);
  71. virtual void Bottom(HBRUSH brushBottom);
  72. virtual void Window(HPEN penWindow, HBRUSH brushWindow);
  73. virtual void Outbuilding(HPEN penOutbuilding, HBRUSH brushOutbuilding);
  74. virtual void WheelShow();
  75.  
  76. bool GetRotation(); //функция получения информации о вращении колеса
  77. void SetRotation(bool _flag); //функция установки состояния колеса(вращается или нет)
  78. virtual void Show(); //функция отображения мельницы
  79. virtual void Hide(); //функция скрытия мельницы
  80. double GetAngleWH(); //функция получения информации о текущем угле колеса
  81. void SetAngleWH(double _Angle); //функция задания текущего угла колеса
  82. }; //class Grinder
  83.  
  84. class GrinderDamage : public Grinder
  85. {
  86. public:
  87. GrinderDamage(int _X, int _Y, int _Scale, double _Angle);
  88. ~GrinderDamage();
  89. virtual void Vent(HPEN penVent, HBRUSH brushVen);
  90. };
  91.  
  92. class Object : Point
  93. {
  94. protected:
  95. int Scale; //масштаб камня
  96. int ObjectType;
  97. public:
  98. Object(int _X, int _Y, int Scale);
  99. ~Object();
  100. double GetScale(); //функция получения масштаба
  101. void SetScale(double _Scale); //функция получения масштаба
  102. };
  103.  
  104. class Rock : public Point
  105. {
  106. protected:
  107. int Scale; //масштаб камня
  108. public:
  109. Rock(int _X, int _Y, int Scale);
  110. ~Rock();
  111.  
  112. virtual void Show(); //функция отображения камня
  113. virtual void Hide(); //функция скрытия камня
  114. double GetScale(); //функция получения масштаба
  115. void SetScale(double _Scale); //функция получения масштаба
  116. }; //class Rock
  117.  
  118. class Wave : public Point
  119. {
  120. protected:
  121. int Scale;
  122. public:
  123. Wave(int _X, int _Y, int Scale);
  124. ~Wave();
  125.  
  126. virtual void Show(); //функция отображения волны
  127. virtual void Hide(); //функция скрытия волны
  128. double GetScale(); //функция получения масштаба
  129. void SetScale(double _Scale); //функция задания масштаба
  130. }; //class Wave
  131.  
  132. class Health_mode : public Point
  133. {
  134. protected:
  135. int Scale;
  136. public:
  137. Health_mode(int _X, int _Y, int Scale);
  138. ~Health_mode();
  139.  
  140. virtual void Show(); //функция отображения модуля здоровья
  141. virtual void Hide(); //функция скрытия модуля здоровья
  142. double GetScale(); //функция получения масштаба
  143. void SetScale(double _Scale); //функция задания масштаба
  144. }; //class Health_mode
  145.  
  146. class River : public Point
  147. {
  148. protected:
  149. int Scale;
  150. public:
  151. River(int _X, int _Y, int _Scale);
  152. ~River();
  153.  
  154. virtual void Show(); //функция отображения реки
  155. virtual void Hide(); //функция скрытия реки
  156. }; // class River
  157.  
  158. class Catcher : public Point
  159. {
  160. protected:
  161. int Scale;
  162. public:
  163. Catcher(int _X, int _Y, int _Scale);
  164. ~Catcher();
  165. virtual void Show(); //функция отображения ловца
  166. virtual void Hide(); //функция скрытия ловца
  167. int GetScale(); //функция получения масштаба
  168. void SetScale(int _Scale); //функция задания масштаба
  169. }; //class Catcher
  170.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement