Advertisement
baadgeorge

классы

Jun 3rd, 2021
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.52 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 Rock : public Point
  85. {
  86. protected:
  87.     int Scale; //масштаб камня
  88. public:
  89.     Rock(int _X, int _Y, int Scale);
  90.     ~Rock();
  91.  
  92.     virtual void Show(); //функция отображения камня
  93.     virtual void Hide(); //функция скрытия камня
  94.     double GetScale(); //функция получения масштаба
  95.     void SetScale(double _Scale); //функция получения масштаба
  96. }; //class Rock
  97.  
  98. class Wave : public Point
  99. {
  100. protected:
  101.     int Scale;
  102. public:
  103.     Wave(int _X, int _Y, int Scale);
  104.     ~Wave();
  105.  
  106.     virtual void Show(); //функция отображения волны
  107.     virtual void Hide(); //функция скрытия волны
  108.     double GetScale(); //функция получения масштаба
  109.     void SetScale(double _Scale); //функция задания масштаба
  110. }; //class Wave
  111.  
  112. class Health_mode : public Point
  113. {
  114. protected:
  115.     int Scale;
  116. public:
  117.     Health_mode(int _X, int _Y, int Scale);
  118.     ~Health_mode();
  119.  
  120.     virtual void Show(); //функция отображения модуля здоровья
  121.     virtual void Hide(); //функция скрытия модуля здоровья
  122.     double GetScale(); //функция получения масштаба
  123.     void SetScale(double _Scale); //функция задания масштаба
  124. }; //class Health_mode
  125.  
  126. class River : public Point
  127. {
  128. protected:
  129.     int Scale;
  130. public:
  131.     River(int _X, int _Y, int _Scale);
  132.     ~River();
  133.  
  134.     virtual void Show(); //функция отображения реки
  135.     virtual void Hide(); //функция скрытия реки
  136. }; // class River
  137.  
  138. class Catcher : public Point
  139. {
  140. protected:
  141.     int Scale;
  142. public:
  143.     Catcher(int _X, int _Y, int _Scale);
  144.     ~Catcher();
  145.     virtual void Show(); //функция отображения ловца
  146.     virtual void Hide(); //функция скрытия ловца
  147.     int GetScale(); //функция получения масштаба
  148.     void SetScale(int _Scale); //функция задания масштаба
  149. }; //class Catcher
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement