baadgeorge

классы аш

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