рдорд┐рдиреА рдПрдЖрдИ рдХрдк 4 рдореЗрдВ рджреВрд╕рд░рд╛ рд╕реНрдерд╛рди рдЗрддрд┐рд╣рд╛рд╕: рдкреЗрдкрд░ рдЖрдИрдУ

рдореЗрд░рд╛ рдирд╛рдо рдЗрдЧреЛрд░ рд╡реЛрд▓реНрдХреЛрд╡ рд╣реИред рдореИрдВ рдПрдХ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░, рд╡рд╛рд╕реНрддреБрдХрд╛рд░, рдЯреАрдо рд▓реАрдбрд░, рддрдХрдиреАрдХреА рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкрд░рд╛рдорд░реНрд╢ рдХрдВрдкрдиреА рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡рд░реНрддрдорд╛рди рдЬрд░реВрд░рддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рднреВрдорд┐рдХрд╛рдПрдБред рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП mail.ru рд╕реЗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдкреЗрдкрд░ IO рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рд╛ред


рдЗрд╕ рдмрд╛рд░, рдЖрдпреЛрдЬрдХреЛрдВ рдиреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЦреЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдмреЙрдЯ рдкреНрд░рдмрдВрдзрди рд░рдгрдиреАрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ред рдирд┐рдпрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рдкрдврд╝реЗрдВред рдореЗрд░реА рд░рдгрдиреАрддрд┐ рдХрд╛ рдХреЛрдб рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рдФрд░ рдЪреИрдореНрдкрд┐рдпрдирд╢рд┐рдк рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЧреЗрдо рдХреЗ рдЙрджрд╛рд╣рд░рдгред





рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрд╛, рд╕рдмрд╕реЗ рдЖрдо рдкреЙрдк-рдЕрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдЪрд╛рд░ MCTS рдХрд╛ рдЙрдкрдпреЛрдЧ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдореИрдВрдиреЗ рдХрдИ рдЖрдпрддрд╛рдХрд╛рд░ рдорд╛рд░реНрдЧреЛрдВ (рджреЛ рдХреЗ рд╕рд╛рде, рдФрд░ рдлрд┐рд░ рддреАрди рдореЛрдбрд╝ рдХреЗ рд╕рд╛рде) рдФрд░ рдЙрдирдХреЗ рдмрд╛рдж рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред


рд░рдгрдиреАрддрд┐ рдПрд▓реНрдЧреЛрд░рд┐рджрдо


рд░рдгрдиреАрддрд┐ рдХреЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд 6 рдмрд┐рдВрджреБрдУрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


  1. рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдкрдврд╝реЗрдВ
  2. рд╕рдВрджреЗрд╢ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХрд╛рд░реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ
  3. рдЖрдпрддрд╛рдХрд╛рд░ рдорд╛рд░реНрдЧреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рддреИрдпрд╛рд░ рдХрд░реЗрдВ
  4. рдЙрддреНрдкрдиреНрди рдорд╛рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреА рджрд░
  5. рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд╛рд░реНрдЧ рдЪреБрдиреЗрдВ
  6. рдЯреАрдо рднреЗрдЬреЗрдВ

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред рдХреЗрд╡рд▓ рдмреЙрдЯ рдорд╛рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


SimpleStrategy рд╡рд░реНрдЧ рдореЗрдВ рд░рдгрдиреАрддрд┐ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдФрд░ BestStrategy рд╡рд░реНрдЧ рдПрдХ рдЙрдиреНрдирдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдиреЗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рджреВрд╕рд░рд╛ рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред


рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдкрдврд╝рдирд╛


рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ STDIN рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ JSON рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ pom.xml рдореЗрдВ рджреЗрдЦрд╛ рдХрд┐ рдЖрдк Gson рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред Gson рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╕рдВрджреЗрд╢ рд╡рд░реНрдЧ рдХреА рдПрдХ рдЖрд╡реГрддреНрддрд┐ рдореЗрдВ рдорд╛рдирдХ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкрдврд╝реЗ рдЧрдП JSON рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ deserialized рдХрд┐рдпрд╛ред рдХреЛрдб Main.java (рд▓рд╛рдЗрдиреЗрдВ 44-49) рдореЗрдВ рд╣реИ ред


рдХрд╛рдо рдХреА рд╡рд╕реНрддреБрдПрдБ рдмрдирд╛рдПрдБ


рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд╣рди рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдорддреМрд░ рдкрд░ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд░реВрдк рд╕реЗ рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдпреЛрдЬрдХ, рдПрдХ рдХрд╛рд░рдг рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП, рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдкрд░рд┐рд╡рд╣рди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╢реНрд░рдорд┐рдХреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкреНрд▓реЗрдпрд░ рдФрд░ PlayerState рдХрдХреНрд╖рд╛рдПрдВ рдмреЙрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд░реНрдЧ MessagePlayer2PlayerConverter рдкрд░рд┐рд╡рд╣рди рд╕рдВрджреЗрд╢ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдмреЛрдирд╕ рд╡рд░реНрдЧ рдореЗрдВ рдЦреЗрд▓ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рд╕реЗрд▓ рдХреЗ рдмреЛрдирд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдХрд╛рд░реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб Main.java (рд▓рд╛рдЗрдиреЗрдВ 61-74) рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред


рдорд╛рд░реНрдЧ рдирд┐рд░реНрдорд╛рдг


рд░рдгрдиреАрддрд┐ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ ( SimpleStrategy ), MovePlanWithScore рдФрд░ Move рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрде рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореВрд╡ рдЖрдВрджреЛрд▓рди рдХреА рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдмреЙрдЯ рдХреЛ рдХрд┐рддрдиреА рд╕реЗрд▓ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ MovePlanWithScore рдореЗрдВ рдореВрд╡ рдПрд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░реВрдЯ рдФрд░ рдЗрд╕ рд░реВрдЯ рдХрд╛ рдПрдХ рдЕрдиреБрдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдПрдХ рд╕реЗ рдЪрд╛рд░ рдореВрд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдХреЗрд╡рд▓ рддреАрди рд╕реЗ рдЕрдзрд┐рдХ рдШреБрдорд╛рд╡ рд╡рд╛рд▓реЗ рдЖрдпрддрд╛рдХрд╛рд░ рдорд╛рд░реНрдЧреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреЙрдЯ рдХрд╛ рдорд╛рд░реНрдЧ рдЯреВрдЯреА рд╣реБрдИ рд░реЗрдЦрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдореЛрдбрд╝ рдкрд░ рдПрдХ рдирдпрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЖрдпрддрд╛рдХрд╛рд░ рдорд╛рд░реНрдЧ рдЪреБрдирдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рд░реНрдЧ рдкреАрдврд╝реА рдлрд╝рдВрдХреНрд╢рди , рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдЧреЗ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП MovePlanWithScore рд╕реЗ рдПрдХ рд╕реВрдЪреА рдмрдирд╛рддрд╛ рд╣реИред


рдмреЙрдЯ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░реЛрдВ рдХрд╛ рдРрд╕рд╛ рдЧрдарди рдмрд╛рдж рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдмрд╛рд░ рдПрдХ рд╣реА рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЦреЗрд▓ рдХреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдерд╛ред


рд░рдгрдиреАрддрд┐ рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, BestStrategy рдиреЗ рд░реВрдЯ рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред MoveNode рд╡рд░реНрдЧ рдЗрд╕ рдкреЗрдбрд╝ рдХреЗ рдиреЛрдб рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдкреЗрдбрд╝ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рдгрдиреАрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрдирддрд╛ рд╣реИред MoveNode рд╡рд░реНрдЧ рдХреА init рдкрджреНрдзрддрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ ред рдпрд╣ SimpleStrategy рдХреНрд▓рд╛рд╕ рд╕реЗ рд░реВрдЯ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ, рдкреНрд░рд╢реНрди рдореЗрдВ рдорд╛рд░реНрдЧ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рд░реНрдЧреЛрдВ рдХрд╛ рдЧрдарди, рдПрдХ рдФрд░ рдореЛрдбрд╝ рдЬреЛрдбрд╝рдХрд░ рдереЛрдбрд╝рд╛ рдФрд░ рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдирд╣реАрдВ рдерд╛ред


рд░реВрдЯ рд░реЗрдЯрд┐рдВрдЧ


рдЬрд╣рд╛рдВ рднреА рдмреЙрдЯ рд╕реНрдерд┐рдд рдерд╛, рдЙрд╕рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд╛рд░реНрдЧ рд╣рдореЗрд╢рд╛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдорд╛рд░реНрдЧ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рджреЛ рд╕рдВрдХреЗрддрдХ рдкреЗрд╢ рдХрд┐рдП: рд╕реНрдХреЛрд░ рдФрд░ рдЬреЛрдЦрд┐рдоред рд╕реНрдХреЛрд░ - рд▓рдЧрднрдЧ рдкрде рдХреЗ рдЯрд┐рдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдВрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдФрд░ рдЬреЛрдЦрд┐рдо - рдЯрд┐рдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдкрде рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдкреВрдВрдЫ рджреНрд╡рд╛рд░рд╛ рд╣рдбрд╝рдк рд╕рдХрддрд╛ рд╣реИ)ред рдЬреЛрдЦрд┐рдо рддреБрд░рдВрдд рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реБрдЖред рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЕрдЧрд░ рдмреЙрдЯ рдЕрдЪрд╛рдирдХ рд░рд╛рд╕реНрддреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдорд╛рд░реНрдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ "рдкрд╛рдЧрд▓ рд╣реЛ рдЧрдпрд╛", рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЦрддрд░рдирд╛рдХ рд░рд╛рд╕реНрддреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рдереЗред рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рднреА рдорд╛рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реЗ, рд╕рдмрд╕реЗ "рд╕реБрд░рдХреНрд╖рд┐рдд" рдПрдХ рдорд╛рд░реНрдЧ рдХреЗ рдЯрд┐рдХ рдкреНрд░рддрд┐ рдЕрдзрд┐рдХрддрдо рдЕрдВрдХ рдХреЗ рд╕рд╛рде рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИред


рдорд╛рд░реНрдЧ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд░реАрдЪреИрдмрд┐рд▓рд┐рдЯреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ: рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдПрдХ рдЯрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХрд╛ рдмреЙрдЯ рдЙрд╕рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреЗрд╡рд▓ рдПрдХ рдЯрд┐рдХ, рдФрд░ рдмрд╛рдж рдореЗрдВ рдкреВрдВрдЫ рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ред рдмреЛрдирд╕ рдХреЛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЙрдард╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ рднреА рд░рдгрдиреАрддрд┐ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред TimeMatrixBuilder рд╡рд░реНрдЧ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдмреЙрдЯреНрд╕ рдХреЗ рдЯрд┐рдХреНрд╕ рдФрд░ рдкреВрдВрдЫ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЗрди рдореЗрдЯреНрд░рд┐рд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреЛрдЦрд┐рдо рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдореЗрд░рд╛ рдмреЙрдЯ рдЕрдЧрд▓реА рдЪрд╛рд▓ рдХреА рдЧрдгрдирд╛ рдХреЗ рд╕рдордп рдЕрдкрдиреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╣реИ - рдЕрдзрд┐рдХрддрдо рдЬреЛрдЦрд┐рдо рд╕реНрддрд░ рдЦрддрд░рдирд╛рдХ рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдЧрд░ рдмреЙрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡рд┐рджреЗрд╢реА рдпрд╛ рддрдЯрд╕реНрде рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдерд╛, рддреЛ рдЬреЛрдЦрд┐рдо рдХрд╛ рдЖрдХрд▓рди рдкрде рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдЯрд┐рдХреНрд╕ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдмреЙрдЯ рдЕрдкрдиреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрдпрд╛) рдФрд░ рдЯрд┐рдХ рдЬрдм рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЦрддрд░реЗ рдХреА рдЖрд╢рдВрдХрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдФрд░ рдХрд╛ рдмреЙрдЯ рдкреВрдВрдЫ рдкрд░ рдХрджрдо рд░рдЦ рд╕рдХрддрд╛ рд╣реИ)ред


рд░рдгрдиреАрддрд┐ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рд╕реНрдХреЛрд░ рдХреЛ рдХреЗрд╡рд▓ рдХрдмреНрдЬрд╛ рдХрд┐рдП рдЧрдП рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ рдФрд░ рдмреЛрдирд╕ рдХреЛ рдереЛрдбрд╝рд╛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рдерд╛ред рдХрдмреНрдЬрд╛ рдХреА рдЧрдИ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдХрдИ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рдиреЗ рд╕реНрдерд╛рдиреАрдп рд░рдирд░ рдкрд░ рдЖрдпреЛрдЬрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреА рд╡рд┐рдЪрд┐рддреНрд░рддрд╛ рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХреАред рдореИрдВ рдпрд╣ рдорд╛рдиреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред


рдЕрдЬреАрдм рд╣реИ, рд▓реЗрдХрд┐рди рд░рдгрдиреАрддрд┐ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдкреНрд░рдзрд╛рдирддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЗрд╕рдиреЗ рдЦреБрдж рдХреЛ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджрд┐рдЦрд╛рдпрд╛: рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ 10 рд╡рд╛рдВ рд╕реНрдерд╛рдиред рд╕рдЪ рд╣реИ, рдкреНрд░реАрдлрд┐рдирд▓ рд░рд╛рдЙрдВрдб рдореЗрдВ рд╡рд╣ рдЬрд▓реНрджреА рд╕реЗ рдиреАрдЪреЗ рдЬрд╛рдиреЗ рд▓рдЧрд╛: рдЕрдиреНрдп рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдиреЗ рдЕрдкрдиреА рд░рдгрдиреАрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ред


рдореЗрд░рд╛ рдмреЙрдЯ рдЕрдХреНрд╕рд░ рдорд░ рдЧрдпрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ рдЬрд┐рд╕реЗ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡рд┐рдпреЛрдВ рдХреЗ рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрде рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд▓рдВрдмрд╛ рд╣реЛ рдЧрдпрд╛ рдФрд░ рдореЗрд░реЗ рдмреЙрдЯ рдХреЛ рдкреВрдВрдЫ рд╕реЗ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдЕрдХреНрд╕рд░ рдкреВрдВрдЫ рдХреА рд▓рдВрдмрд╛рдИ рдФрд░ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдмреЙрдЯ рдХреА рдЧрддрд┐ рдХреА рдЧрд▓рдд рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рдХрд╛рд░рдг рдореГрддреНрдпреБ рд╣реЛ рдЧрдИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреА рдмреЙрдЯ рдордВрджреА рд▓реЗрдирд╛ рдЦрддрд░рдирд╛рдХ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрдорд╛рдирд┐рдд рдЧрдгрдирд╛ рдореЗрдВ рд░рдгрдиреАрддрд┐ рдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЙрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд╕реЗрд▓ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдФрд░ рд╡рд╣ рдЕрднреА рднреА рд╡рд╣рд╛рдВ рдерд╛ред рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрдХреЗрддрдХреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ ( AnalyticsBuilder рдФрд░ CellDelails рд╡рд░реНрдЧ)ред


рдЦреЗрд▓ рдореИрджрд╛рди рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЧрд┐рдирддреА


  1. рдЯрд┐рдХ рдЬрд┐рд╕ рдкрд░ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдмреЙрдЯ рдкрд┐рдВрдЬрд░реЗ (рдкреВрдВрдЫ рдкрд░ рдЯрд┐рдХ) рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  2. рдЯрд┐рдХ рдЬрд┐рд╕ рдкрд░ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдмреЙрдЯ рд╕реЗрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  3. рдкрд┐рдВрдЬрд░реЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╕рдордп рдкреВрдВрдЫ рдХреА рд▓рдВрдмрд╛рдИ
  4. рдЯрд┐рдХ рдЬрд┐рд╕ рдкрд░ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдмреЙрдЯ рдкрд┐рдВрдЬрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВ
  5. рдкрд┐рдВрдЬрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╕рдордп рдкреВрдВрдЫ рдХреА рд▓рдВрдмрд╛рдИ
  6. рдЯрд┐рдХ рдЬрд┐рд╕ рдкрд░ рдПрдХ рд╕реЗрд▓ рдХреЛ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  7. рдЯрд┐рдХ рдЬрд┐рд╕ рдкрд░ рд╕реЗрд▓ рдХреНрд╖реЗрддреНрд░ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  8. рдЯрд┐рдХ рдЬрд┐рд╕ рдкрд░ рд╕реЗрд▓ рдХреЛ рдЖрд░реА рд╕реЗ рдорд╛рд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдХреА рдЧрд╣рд░рд╛рдИ 10 рдЪрд╛рд▓реЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡рд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдпрд╛ рдЕрд╕реНрдерд╛рдпреА рдЧрд╣рд░рд╛рдИ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдХреЗ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдирд╣реАрдВ рдерд╛ред AnalyticsBuilder рдХреЗ рдЕрд▓рд╛рд╡рд╛ , рдЙрдиреНрд╣реЛрдВрдиреЗ SimpleTickMatrixBuilder рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ , рдЕрдЧрд░ AnalyticsBuilder рдХреЗ рд▓рд┐рдП рд░реЗрдВрдбрд░рд┐рдВрдЧ рдбреЗрдкреНрде рдХреА рдХрдореА рдереАред Analytics рдкрд░рд┐рдгрд╛рдо BestStrategy рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред


рд░реЗрдЯрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рднреА рдереЛрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ:


  1. рдореИрдВрдиреЗ рдЦрд╛рддрд╛ рдмреЛрдирд╕ рд▓реЗрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛: рдПрдХ рдордВрджреА рдмреЛрдирд╕ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреБрд░реНрдорд╛рдирд╛ рдФрд░ рддреНрд╡рд░рдг рдФрд░ рдЖрд░рд╛ рдмреЛрдирд╕ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЛрдирд╕ред рдирддреАрдЬрддрди, рдмреЙрдЯ рдиреЗ рдЦрд░рд╛рдм рдмреЛрдирд╕ рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрдд рдХреА рдФрд░ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЕрдЪреНрдЫреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдард╛рдпрд╛ред
  2. рд╡рд╣ рд╕рд┐рд░ рдХреЗ рдЯрдХрд░рд╛рд╡ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЬреАрдд рдХреЗ рд╕рдВрдШрд░реНрд╖ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдВрдХ рдЬреЛрдбрд╝реЗред рджреВрд░ рдПрдХ рд╕рдВрднрд╡ рдЯрдХреНрдХрд░, рдХрдо рдЕрдВрдХред
  3. рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреА рд╕реАрдорд╛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрд┐рдВрджреБ рдЬреЛрдбрд╝реЗред
  4. рд╕реАрдорд╛ рдкрд░ рдЦрд╛рд▓реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХрдо: рдХреЗрдВрджреНрд░ рд╕реЗ рдЖрдЧреЗ, рдХрдо рдореВрд▓реНрдпред рдлрд╛рдЗрдирд▓ рдХреЗ рдЭрдЧрдбрд╝реЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдЗрд╕ рдирддреАрдЬреЗ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдЦрд╛рд▓реА рд╕реЗрд▓ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╣реБрдд рддрдереНрдп рдХреЗ рд▓рд┐рдП рдЕрдВрдХреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдПрдХ рдЦрд╛рд▓реА рд╕реЗрд▓ рдХрд╛ рдореВрд▓реНрдп рджреБрд╢реНрдорди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдмрдбрд╝реЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рдирд┐рдХрдЯрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдлрд╛рдЗрдирд▓ рдореЗрдВ рд░рдгрдиреАрддрд┐ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред
  5. рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдмреЙрдЯ рд╕рд┐рд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдмрд┐рдВрджреБ рдЬреЛрдбрд╝реЗ рдЧрдПред рдпрдХреАрди рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдорджрдж рдХреАред рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд╕рд░рд▓ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рдеред
  6. рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрдВрдЫ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдмреЗрдХрд╛рд░ рдкрдХрдбрд╝ рдХреЗ рд▓рд┐рдП рднреА рдЕрдВрдХ рдЬреЛрдбрд╝реЗ (рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХрд╛ рдмреЙрдЯ рдЙрд╕реА рдЯрд┐рдХ рдкрд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдЬрд┐рд╕рдореЗрдВ рдореЗрд░реА рдмреЙрдЯ рдиреЗ рдЙрд╕рдХреА рдкреВрдВрдЫ рдкрд░ рдХрджрдо рд░рдЦрд╛ рдерд╛)ред рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдмреЙрдЯреНрд╕ рдХреЛ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдХреНрд╕рд░ рдЕрдкрдиреЗ рджрдо рдкрд░ рд▓реМрдЯрдирд╛ рдкрдбрд╝рд╛ред
  7. рдХреИрдкреНрдЪрд░ рд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдореМрдд рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реАрдорд╛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рд▓рд╛рдЧрдд рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред

рд░рдгрдиреАрддрд┐ рдбрд┐рдмрдЧрд┐рдВрдЧ


рд░рдгрдиреАрддрд┐ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЯрд╛рдЗрдкреЛрд╕ рдФрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВ: рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд░рд╛рдд рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдгрд╛рдоред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрд▓ рд╡рд░реНрдЧ рдореЗрдВ, рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛: рдЗрд╕рдХреЗ рдмрдЬрд╛рдп this.index = x * Game.sizeY + y , this.index = x * Game.width + y ред рдкрд╣рд▓реЗ рддреЛ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рдмрд┐рдирд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдкрд╣рд▓реЗ рдЦреЗрд▓реЗ рдЧрдП рдореИрдЪреЛрдВ рдХреЛ рдЦреЗрд▓реЗ рдмрд┐рдирд╛, рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдврдирд╛ рдФрд░ рдЧрд▓рдд рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдирддреАрдЬрддрди, рдбрд┐рдмрдЧрд╡рд┐рдВрдбреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ , рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЦреЗрд▓реЗ рдЧрдП рдЧреЗрдо рдХреЛ рдЪрд░рдг рджрд░ рдЪрд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╡рд╛рдВрдЫрд┐рдд рдЯрд┐рдХ рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдмрд╣реБрдд рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИ, рдЬрд▓реНрджрдмрд╛рдЬреА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рдордп рдЗрд╕рдиреЗ рдореЗрд░реА рдмрд╣реБрдд рдорджрдж рдХреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрд▓ рдЗрдВрдбреЗрдХреНрд╕ рдХреА рдЧрд▓рдд рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдХрд╛ рддреБрд░рдВрдд рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрдИ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд▓рдЧрд╛ред




рдЕрдиреБрдХреВрд▓рди


рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЬреАрд╕реА рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдмрд░реНрдмрд╛рдж рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреБрдЫ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдпреЗ рдЦреЗрд▓ рдореИрджрд╛рди ( рд╕реЗрд▓ рд╡рд░реНрдЧ) рдХреА рдХреЛрд╢рд┐рдХрд╛рдПрдБ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреАред рдЕрдЧреНрд░рд┐рдо (рд╡рд░реНрдЧ MoveNode ) рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред


рдореИрдВрдиреЗ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдХрд┐ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдмрд┐рдЧрдбрд╝ рдЬрд╛рдПрдЧреА рдФрд░ рдЗрд╕реЗ рд╣рд░ рдмрд╛рд░ рдмрд╣рд╛рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдпрдерд╛рд╕рдВрднрд╡ рдкреИрдХ рдХрд┐рдП рдЧрдП рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдмрд┐рдЯрд╕реЗрдЯ (рдХреНрд▓рд╛рд╕ рдкреНрд▓реЗрдпрд░рдЯреЗрд░реЗрдЯрд░реА )ред рдЦреЗрд▓ рдореИрджрд╛рди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЛ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрд▓ рдирдВрдмрд░ рдмрд┐рдЯрд╕реЗрдЯ рдореЗрдВ рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдкреВрдВрдЫ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ ArrayDeque (рдХреНрд▓рд╛рд╕ рдкреНрд▓реЗрдпрд░рдЯреЗрд▓ ) рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдмрд┐рдЯрд╕реЗрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред

рд╕рдЪ рд╣реИ, рдореБрдЭреЗ рд╕рдордп рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЦреЗрд▓рдиреЗ рдХреЛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдФрд░ рдЪреВрдВрдХрд┐ рдкрде рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реЛ рдЧрдпрд╛ рдФрд░ рдкреВрд░реЗ рд░рд╛рдЬреНрдп рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдирд╡реАрдирддрдо рдЕрдиреБрдХреВрд▓рди рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдереЗред


рдЕрд╕рддреНрдп рд╡рд┐рдЪрд╛рд░


рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЗ рдорд╛рд░реНрдЧ рдХреЗ рдЬреЛрдЦрд┐рдо рдХрд╛ рдЖрдХрд▓рди рдХрд░рддреЗ рд╕рдордп, рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдорд░рдиреЗ рд╕реЗ рднреА рдбрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬреЛрдЦрд┐рдо рдореВрд▓реНрдпрд╛рдВрдХрди рдореЗрдВ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ред рдХрдо рд╕реЗ рдХрдо, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдВрддрд┐рдо рдЧреЗрдо рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдерд╛ред


рдПрдХ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреА рднрд╡рд┐рд╖реНрдп рдХреА рдореГрддреНрдпреБ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрд╛рдВрдХрдиред рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдмреЙрдЯ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдХреНрд╖реЗрддреНрд░ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдорд░ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк рдХреЗрд╡рд▓ рдЦрд╛рд▓реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред


рдЦрд╛рд▓реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрд╛рдВрдХрди рдЬреЛ рдПрдХ рдореВрд▓реНрдпрд╛рдВрдХрди рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдФрд░ рдзрдиреНрдпрд╡рд╛рдж


рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдЖрдИ рдХрдк рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рднрд╛рдЧ рд▓реЗрдВред рдпрд╣ рд╕реЛрдЪ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЦреЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реАрдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдереЛрдбрд╝рд╛ рдЙрддреНрд╕рд╛рд╣ рдкреБрд░рд╕реНрдХрд╛рд░ рдХреА рдЬрдЧрд╣ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╕рд░рд▓ рдФрд░ рдмрд╣реБрдд рдЗрд╖реНрдЯрддрдо рдХреЛрдб рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред


рдЖрдпреЛрдЬрдХреЛрдВ рдХреЛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдХреБрдЫ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдмрди рдЧрдИред рдореИрдВ рдЕрдЧрд▓реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВ!

Source: https://habr.com/ru/post/hi466597/


All Articles