рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдПрд╕рдПрдлрдПрдордПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рдЧреЗрдо рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ рдФрд░ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рд╕рд╣реА рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдпрд╛ рдЬрд╛рдПред рд▓рд┐рд╣рд╛рдЬрд╛, рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░рд┐рдВрдЧ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХрд┐рди рд╡рд░реНрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореБрдЭреЗ рдЦреЗрд▓ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдПрд╕реЗрдЯреНрд╕ред рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рд╕реЗ, рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдлрд╝реЙрдиреНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЪрд┐рддреНрд░, рд╕рдВрдЧреАрдд рдЖрджрд┐ред рдореИрдВрдиреЗ рдХреНрд▓рд╛рд╕ рдХреЛ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдмрдирд╛рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдПрд╕реЗрдЯреНрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЖрдзрд╛рд░ рдЬрд╛рдиреЗ-рдорд╛рдиреЗ рд╕рд┐рдВрдЧрд▓рдЯрди рдорд╛рдпрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдЬрд╝рд░реВрд░рдд рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЦреЗрд▓ рдХрд╛ рд╡рд░реНрдЧ рдЬреЛ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рддрд░реНрдХ рдФрд░ рдЙрд╕рдХреЗ рд░рд╛рдЬреНрдп рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдПрдорд╡реАрд╕реА рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рд╡рд░реНрдЧ рдПрдХ рдореЙрдбрд▓ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдмреБрд▓рд╛рдпрд╛ - GameModelред
рдЦреЗрд▓ рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реАрди рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдореЗрдВ, рдПрдорд╡реАрд╕реА рд╡реНрдпреВ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо рдЧреЗрдорд░реЗрдВрдбрд░ рд░рдЦрд╛ рдФрд░ рдЗрд╕реЗ рд╕рд╛рд░ рд╡рд░реНрдЧ рдбреНрд░рд╛рдмрд▓ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛, рдЬреЛ рдПрд╕рдПрдлрдПрдордПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
рдЦреИрд░, рдЕрдВрддрд┐рдо рд╡рд░реНрдЧ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдпрд╣ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╡рд░реНрдЧ рд╣реИ - рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИред рдпрд╣рд╛рдВ рдпрд╣ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ MVC рдХреА рд╢рд╛рд╕реНрддреНрд░реАрдп рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕реАрдзреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдХреЗрд╡рд▓ рдореЙрдбрд▓ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреГрд╢реНрдп рдореЙрдбрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рдпрд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рдВрдХреЗрдд рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореБрдЭреЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рд╣рдж рддрдХ рдмреЗрдорд╛рдиреА рд▓рдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕реАрдзреЗ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдорд╡реАрдкреА рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рд╣реИред рд╡рд░реНрдЧ рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВрдиреЗ рдЧреЗрдордХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдмреБрд▓рд╛рдпрд╛ред
рдЦреИрд░, рдЕрдм рдЗрди рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЕрдкрдирд╛ рдХреЛрдб рдмрд┐рдЦреЗрд░рдиреЗ рдХреА рдордЬреЗрджрд╛рд░ рдмрд╛рдд рдкрд░ рдЖрддреЗ рд╣реИрдВред
рдХреНрд▓рд╛рд╕ рдПрд╕реЗрдЯреНрд╕
#pragma once #include <SFML/Graphics.hpp> class Assets { public: sf::Font font; public: static Assets& Instance() { static Assets s; return s; } void Load(); private: Assets() {}; ~Assets() {}; Assets(Assets const&) = delete; Assets& operator= (Assets const&) = delete; };
рдореИрдВрдиреЗ рдХрдХреНрд╖рд╛ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЙрд╕рд╕реЗ рдпрд╣ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдлрд╝реЙрдиреНрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реЙрдиреНрдЯ рд╡рд░реНрдЧ рдХреЗ рдПрдХ рд╕рджрд╕реНрдп рдФрд░ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рд╡рд┐рдзрд┐ рдХреА рдШреЛрд╖рдгрд╛ рд╣реИред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдорд╛рдпрд░реНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред
рд▓реЛрдб рд╡рд┐рдзрд┐ рднреА рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
void Assets::Load() { if (!font.loadFromFile("calibri.ttf")) throw; }
рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдХреИрд▓рд┐рдмреНрд░реА рдлреЙрдиреНрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИред
рдЧреЗрдордореЙрдбрд▓ рдХреНрд▓рд╛рд╕
#pragma once enum class Direction { Left = 0, Right = 1, Up = 2, Down = 3 }; class GameModel { public: static const int SIZE = 4;
рд╕рднреА рддрд░реНрдХ рдФрд░ рд╕рднреА рдЦреЗрд▓ рдбреЗрдЯрд╛ рдХреЛ рдХрдХреНрд╖рд╛ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд░реНрдЧ рдХреЛ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдмрд╛рд╣рд░реА рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХреЗ рдкрд╛рд╕ рд╕реНрдХреНрд░реАрди рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдХрд╛рд╕ рдХрд░рддреЗ рд╕рдордп, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЙрдбрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╛ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рднреА рдЦреЗрд▓ рдореЙрдбрд▓ рдЪрд╛рд▓реВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ, рдореЙрдбрд▓ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЛ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛ред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдкреНрд░рд╕реНрддреБрддрд┐ рд╡рд░реНрдЧ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдореЗрдВ IsSolved рдФрд░ Elements рдЧреЗрдЯрд░реНрд╕ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗред
рдЧреЗрдорд░реЗрдВрдбрд░ рдХреНрд▓рд╛рд╕
#pragma once #include <SFML/Graphics.hpp> #include "GameModel.h" class GameRender : public sf::Drawable, public sf::Transformable { GameModel *m_game; sf::RenderWindow m_window; sf::Text m_text; public: GameRender(GameModel *game); ~GameRender(); sf::RenderWindow& window() { return m_window; }; bool Init(); void Render(); public: virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const; };
GameRender рд╡рд░реНрдЧ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЧреЗрдо рд╡рд┐рдВрдбреЛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЦреЗрд▓ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛ рд╣реИред рдЧреЗрдо рдореЙрдбрд▓ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рджрд┐рдП рдЧрдП рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдирд┐рдЯ рд╡рд┐рдзрд┐ рдХреЛ рднреА рдХрд╣рддрд╛ рд╣реИ, рдЬреЛ рдЧреЗрдо рд╡рд┐рдВрдбреЛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИред
GameRender::GameRender(GameModel *game) { m_game = game; Init(); } bool GameRender::Init() { setPosition(50.f, 50.f);
рд╡рд┐рдВрдбреЛ рдФрд░ рдЦреЗрд▓ рдореИрджрд╛рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЗрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдореИрд╕реЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓реВрдк рд╕реЗ рд░реЗрдВрдбрд░ () рд╡рд┐рдзрд┐ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛:
void GameRender::Render() { m_window.clear(); m_window.draw(*this); m_window.draw(m_text); m_window.display(); } void GameRender::draw(sf::RenderTarget& target, sf::RenderStates states) const { states.transform *= getTransform(); sf::Color color = sf::Color(200, 100, 200);
рдЧреЗрдордХрдВрдЯреНрд░реЛрд▓рд░ рдХреНрд▓рд╛рд╕
рдЦреЗрд▓ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдВрддрд┐рдо рд╡рд░реНрдЧ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИред
#pragma once #include <SFML/Graphics.hpp> #include "GameRender.h" class GameController { GameModel *m_game; GameRender *m_render; public: GameController(GameModel *game, GameRender *render); ~GameController(); void Run(); };
рдХрдХреНрд╖рд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЧреЗрдо рд▓реЙрдиреНрдЪ рдХрд░рддреА рд╣реИ - рд░рди () рд╡рд┐рдзрд┐ред рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ рдореЙрдбрд▓ рдХреНрд▓рд╛рд╕ рдФрд░ рдЧреЗрдо рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди рдХреНрд▓рд╛рд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред
рд░рди () рд╡рд┐рдзрд┐ рдореЗрдВ рдЦреЗрд▓ рдХрд╛ рдореБрдЦреНрдп рдЪрдХреНрд░ рд╣реЛрддрд╛ рд╣реИ - рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдХрдХреНрд╖рд╛ рдореЗрдВ рдХреЙрд▓рд┐рдВрдЧ рд╡рд┐рдВрдбреЛред
void GameController::Run() { sf::Event event; int move_counter = 0;
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореБрдЦреНрдп () рдлрд╝рдВрдХреНрд╢рди рд░рд╣рддрд╛ рд╣реИ
#include "Assets.h" #include "GameModel.h" #include "GameRender.h" #include "GameController.h" int main() { Assets::Instance().Load();
рдЗрд╕рдореЗрдВ, рд╕рд┐рд░реНрдл рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдФрд░ рдЧреЗрдо рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХреЛрдб рдХреЛ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЙрджреНрджреЗрд╢реНрдп рд╣реИред рдЦреЗрд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХреЛрдб рдЕрдкрдШрдЯрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рдпрдо рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред
- рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдПрдХ рд╕реБрдкрд░рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЖрдк рд╕реНрд╡рдпрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ
- рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рддреЗ рд╕рдордп, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХрдХреНрд╖рд╛рдПрдВ рд╢рд┐рдерд┐рд▓ рд░реВрдк рд╕реЗ рдпреБрдЧреНрдорд┐рдд рд╣реИрдВред рд╣рдореЗрд╢рд╛ рдорд╛рдирд╕рд┐рдХ рд░реВрдк рд╕реЗ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХрдХреНрд╖рд╛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд░реНрдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдЬрд╣рд╛рдБ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдирд╛ рд╣реЛрдЧрд╛ред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рднреА рд╕реНрд░реЛрддреЛрдВ рдХреЛ
рдпрд╣рд╛рдВ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред