рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛ рдмреЙрдЯ рд▓рд┐рдЦрдирд╛

рдкрд░рд┐рдЪрдп


рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдЦреЗрд▓ Google+ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рдереЗред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╖рдп рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдХреБрдЫ рдЦреЗрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкрд╕рдВрдж рдЦреЗрд▓ рдбрд╛рдпрдордВрдб рдбреИрд╢ рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛ред рдЦреЗрд▓ рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдореБрдЭрд╕реЗ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреНрдпрд╛ рдЖрдпрд╛ ...

* рдиреЛрдЯ: рдПрдХ рдЕрдиреБрднрд╡реА рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ "рд╣рд╛рдереЛрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 400k рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ

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

рдЦреЗрд▓ рд╕рд╛рд░рд╛рдВрд╢


рдЦреЗрд▓ рдПрдХ рд╕рд░рд▓ "рдХреНрд▓рд┐рдХ-рдСрди-рдПрд░рд┐рдпрд╛-рдЕрдзрд┐рдХ-рддреАрди-рд╡рд░реНрдЧ-рдПрдХ-рд░рдВрдЧ" рдкрд╣реЗрд▓реА рд╣реИред

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

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


рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рдВрдбреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ


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

рд░рдВрдЧреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдиреЛ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдмрдЪрд╛рдУ


рдЕрдкрдиреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рд░рдВрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, AutoIt рдореЗрдВ PixelGetColor рдлрд╝рдВрдХреНрд╢рди рд╣реИред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдХреЗрд╡рд▓ 90 рдкрд┐рдХреНрд╕рд▓ рдХреЛ рдорд╛рдкрдиреЗ рдореЗрдВ рдПрдХ рджреВрд╕рд░рд╛ рдФрд░ рдЖрдзрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ рдпрд╣ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦреЗ рдЧрдП рдПрдХ рдмреЙрдЯ рдиреЗ 400-600 рд╣рдЬрд╛рд░ рдЕрдВрдХ рдмрдирд╛рдП, рдФрд░ рдпрд╣ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдХреЛрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдорд╣рд╛рди рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рдеред
рдордВрдЪреЛрдВ рдкрд░, WinAPI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд┐рдЯрдореИрдк рдореЗрдВ рдореЙрдирд┐рдЯрд░ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдкрд╛рдИ рдЧрдИред рд╡реИрд╕реЗ, рдпрд╣ рдмрд┐рдЯрдореИрдк, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП), _ScreenCapture рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо рдЧреНрд░рд┐рдб рдкрд░ рд╕реНрдерд┐рдд 90 рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд░рдВрдЧреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд░рдВрдЧ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
  1. рдлрдВрдХ _GetField ( ByRef $ aiField ) ; рдлрд╝реАрд▓реНрдб рд░рдВрдЧреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
  2. ; WinAPI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ BitMap рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреИрдкреНрдЪрд░ рдХрд░рдирд╛
  3. рд╕реНрдерд╛рдиреАрдп $ hWnd = WinGetHandle ( "Google+ рдЧреЗрдореНрд╕ - Google Chrome" )
  4. рд╕реНрдерд╛рдиреАрдп $ рдЖрдХрд╛рд░ = WinGetClientSize ( $ hWnd )
  5. рд╕реНрдерд╛рдиреАрдп $ hDC = _WAPAPI_GetDC ( $ hWnd )
  6. рд╕реНрдерд╛рдиреАрдп $ hMemDC = _WAPAPI_CreateCompatibleDC ( $ hDC )
  7. рд╕реНрдерд╛рдиреАрдп $ hBitmap = _WinAPI_CreateCompatibleBitmap ( $ hDC , $ рдЖрдХрд╛рд░ [ 0 ] , $ рдЖрдХрд╛рд░ [ 1 ]
  8. рд╕реНрдерд╛рдиреАрдп $ hSv = _WinAPI_SelectObject ( $ hMemDC , $ hBitmap )
  9. _WAPAP_BitBlt ( $ hMemDC , 0 , 0 , $ рдЖрдХрд╛рд░ [ 0 ] , $ рдЖрдХрд╛рд░ [ 1 ] , $ hDC , 0 , 0 , $ SRCCOPY )
  10. _WAPI_SelectObject ( $ hMemDC , $ hSv )
  11. _WAPAP_DeleteDC ( $ hMemDC )
  12. _WAPAPI_ReleaseDC ( $ hWnd , $ hDC )
  13. рд╕реНрдерд╛рдиреАрдп $ L = $ рдЖрдХрд╛рд░ [ 0 ] * $ рдЖрдХрд╛рд░ [ 1 ]
  14. рд╕реНрдерд╛рдиреАрдп $ tBits = DllStructCreate ( 'dword [' рдФрд░ $ L & ']' )
  15. _WAPAPI_GetBitmapBits ( $ hBitmap , 4 * $ L , DllStructGetPtr ( $ tBits ) )
  16. ; рд╕реЗрд▓ рд░рдВрдЧ рдирд┐рд░реНрдзрд╛рд░рдг
  17. $ ICol = 0 рд╕реЗ $ iNumCols рдХреЗ рд▓рд┐рдП - 1
  18. $ IRow = $ iNumRows рдХреЗ рд▓рд┐рдП - 1 рд╕реЗ 0 рдЪрд░рдг - 1
  19. ; рд╡рд░реНрдЧ рдкреИрдорд╛рдЗрд╢
  20. $ iX = $ iCornerX + ( $ iCol * 40 ) + $ iDeltaX
  21. $ iY = $ iCornerY + ( $ iRow * 40 ) + $ iDeltaY
  22. $ iPixelColor = рдореЙрдб ( DllStructGetData ( $ tBits , 1 , $ iY * $ рдЖрдХрд╛рд░ [ 0 ] + $ iX ) , 0x1000000 )
  23. $ aiField [ $ iRow ] [ $ iCol ] = _GetCheckColor ( $ iPixCCC )
  24. рдЕрдЧрд▓рд╛
  25. рдЕрдЧрд▓рд╛
  26. ; рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╡рд┐рд▓реЛрдкрди
  27. _WAPAP_DeleteObject ( $ hBitmap )
  28. _WAPAP_DeleteObject ( $ hMemDC )
  29. _WAPAP_DeleteObject ( $ tBits )
  30. EndFunc


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

рдПрдХ рд░рдВрдЧ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдПрдХрд▓-рд░рдВрдЧ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛


рдЦреИрд░, рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдЦреЛрдЬрдиреЗ рдФрд░ рд╡рд╣рд╛рдВ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдиреАрдЪреЗ рд╕реЗ рдКрдкрд░ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЬрд╛рддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рдиреАрдЪреЗ рдЧрд┐рд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдиреАрдЪреЗ рд╢реАрд░реНрд╖ рд╕реЗ рдХрдо рдЦрд╛рд▓реА рд╣реИ), рдФрд░ рд╣рдо рдореЛрдиреЛрдХреНрд░реЛрдо рднрд╛рдЧреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЧрд╣рд░реА рдЧрд╣рд░рд╛рдИ рдЦреЛрдЬ ( рдбреАрдПрдлрдПрд╕ ) рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╕рд╛рд░ рдпрд╣ рд╣реИ: рд╣рдо рд╢реБрд░реБрдЖрддреА рд╕реЗрд▓ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░, рдЬрдм рддрдХ рд╕реНрдЯреИрдХ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд╣рдо рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕реА рд░рдВрдЧ рдХреЗ рд╕рд╛рде рд╣рдо рд╕реНрдЯреИрдХ рдкрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдЦреИрд░ рдореИрдВ рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреЛрдб рд╕реНрдкрд╖реНрдЯ рд╣реИред =)
  1. рдлрдВрдХ _DfsAreaSize ( ByRef $ aiField , $ iStartX , $ iStartY ) ; рдЧреИрд░-рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрдХрд▓ рд░рдВрдЧ рдХреНрд╖реЗрддреНрд░ рдЖрдХрд╛рд░ рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
  2. ; рдЧрд╣рд░рд╛рдИ рдЦреЛрдЬ рд╡рд┐рдзрд┐
  3. рд╕реНрдерд╛рдиреАрдп $ aiResult [ $ iNumCols * $ iNumRows ] [ 2 ] ; рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреА
  4. рд╕реНрдерд╛рдиреАрдп $ iResultSize = 0
  5. рд╕реНрдерд╛рдиреАрдп $ afMap [ $ iNumRows ] [ $ iNumCols ] ; рдкреНрд░рдЧрддрд┐ рдХреЗ рдЭрдВрдбреЗ
  6. $ IRow = 0 рд╕реЗ $ iNumRows рдХреЗ рд▓рд┐рдП - 1
  7. $ ICol = 0 рд╕реЗ $ iNumCols рдХреЗ рд▓рд┐рдП - 1
  8. $ afMap [ $ iRow ] [ $ iCol ] = рдЧрд▓рдд
  9. рдЕрдЧрд▓рд╛
  10. рдЕрдЧрд▓рд╛
  11. $ afMap [ $ iStartX ] [ $ iStartY ] = рд╕рдЪ
  12. рд╕реНрдерд╛рдиреАрдп $ aiStack [ $ iNumRows * $ iNumCols ] [ 2 ] ; рд╕рдХреНрд░рд┐рдп рд╕реНрдЯреИрдХ
  13. рд╕реНрдерд╛рдиреАрдп $ iStackSize = 1
  14. $ aiStack [ 0 ] [ 0 ] = $ iStartX
  15. $ aiStack [ 0 ] [ 1 ] = $ iStartY
  16. рдЬрдмрдХрд┐ $ iStackSize > 0
  17. $ iStackSize - = 1
  18. $ iX = $ aiStack [ $ iStackSize ] [ 0 ]
  19. $ iY = $ aiStack [ $ iStackSize ] [ 1 ]
  20. $ aiResult [ $ iResultSize ] [ 0 ] = $ iX
  21. $ aiResult [ $ iResultSize ] [ 1 ] = $ iY
  22. $ iResultSize + = 1
  23. $ IDirection = 0 рд╕реЗ 3 рдХреЗ рд▓рд┐рдП ; 4 рдкрд╛рд╕ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЧрдгрдирд╛
  24. рд╕реНрдерд╛рдиреАрдп $ iNewX = $ iX
  25. рд╕реНрдерд╛рдиреАрдп $ iNewY = $ iY
  26. $ IDirection рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ
  27. рдХреЗрд╕ 0
  28. $ iNewY + = 1
  29. рдХреЗрд╕ 1
  30. $ iNewY - = 1
  31. рдХреЗрд╕ 2
  32. $ iNewX + = 1
  33. рдХреЗрд╕ 3
  34. $ iNewX - = 1
  35. EndSwitch
  36. рдпрджрд┐ ( $ iNewX > = 0 рдФрд░ $ iNewX < $ iNumRows рдФрд░ _
  37. $ iNewY > = 0 рдФрд░ $ iNewY < $ iNumCols рдФрд░ _
  38. рдирд╣реАрдВ ( $ afMap [ $ iNewX ] [ $ iNewY ] ) рдФрд░ $ aiField [ $ iNewX ] [ $ iNewY ] = $ aiField [ $ iStartX ] [ $ iNewY ]] рдлрд┐рд░
  39. $ afMap [ $ iNewX ] [ $ iNewY ] = рд╕рдЪ
  40. $ aiStack [ $ iStackSize ] [ 0 ] = $ iNewX
  41. $ aiStack [ $ iStackSize ] [ 1 ] = $ iNewY
  42. $ iStackSize + = 1
  43. endif
  44. рдЕрдЧрд▓рд╛
  45. рдмреАрддрдирд╛
  46. $ IResultSize рд▓реМрдЯреЗрдВ
  47. EndFunc


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



рдЕрдиреБрдХреВрд▓рди 1. рд╣реАрд░реЗ

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

рдЗрд╕ рдмреАрдЪ, рд╣реАрд░реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдЧ рдХреА рдПрдХ рдЧреЗрдВрдж рдЧрд┐рд░рдиреЗ рдХреЗ рджреМрд░рд╛рди, рдЯрд╛рдЗрдорд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрдЧ рдЧрд┐рд░ рдЬрд╛рддреЗ рд╣реИрдВред рддреЛ рдЕрдВрддрд░рд╛рд▓ рднрд░реЗ рд╣реБрдП рд╣реИрдВ, рдФрд░ рдХрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред
рд╣реАрд░реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдорд╛рдк рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдерд╛, рддрд╛рдХрд┐ рд░рдВрдЧреАрди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рд╣реАрд░реЗ рдЙрдирдХреЗ рдХрд┐рд╕реА рднреА рд░рдВрдЧ рдХреЗ рдиреАрдЪреЗ рдирд╣реАрдВ рдереЗред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЖрдХрд╛рд░ 3 рдХреА рдПрдХ $ aiDiams рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВ (рд╣рдо рдХреЗрд╡рд▓ рдиреАрдЪреЗ рдХреА 3 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╣реАрд░реЗ рдЬрд▓реНрдж рд╣реА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рдПрдВрдЧреЗ) * рдЪреМрдбрд╝рд╛рдИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ - 10)ред рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдк рдкрд░, рд╣рдо рдиреАрдЪреЗ рдХреА 3 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╕реЗрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо $ aiDiams рдореЗрдВ рдЗрд╕реА рд╕реНрдерд╛рди рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдЗрд╕реЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣реАрд░реЗ рд╡рд╛рд▓реЗ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдореВрд▓реНрдп рдмрдбрд╝реЗ рд╣реЛрдВрдЧреЗред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рдХреЗ рд╕рдВрдЪрдп рдХреЗ рд╕рд╛рде, рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
  1. $ IRow = $ iNumRows рдХреЗ рд▓рд┐рдП - 1 рд╕реЗ $ iNumRows - 3 рдЪрд░рдг - 1
  2. $ ICol = 0 рд╕реЗ $ iNumCols рдХреЗ рд▓рд┐рдП - 1
  3. рдпрджрд┐ $ aiField [ $ iRow ] [ $ iCol ] <> 0 рддрдм
  4. $ aiDiams [ $ iRow ] [ $ iCol ] = 0
  5. рдЕрдиреНрдпрдерд╛
  6. $ aiDiams [ $ iRow ] [ $ iCol ] + = 1
  7. рдпрджрд┐ $ aiDiams [ $ iRow ] [ $ iCol ] > 15 рддрдм
  8. рдорд╛рдЙрд╕рдХреНрд▓рд┐рдХ ( "рд╡рд╛рдо" , $ iCornerX + 30 + ( $ iCol * 40 ) , $ iCornerY + 10 + ( $ iRow * 40 ) , 1 , $ iMouseSpeed )
  9. $ aiDiams [ $ iRow ] [ $ iCol ] = 0
  10. рдиреАрдВрдж ( 500 )
  11. рд╡рд╛рдкрд╕реА реж
  12. endif
  13. endif
  14. рдЕрдЧрд▓рд╛
  15. рдЕрдЧрд▓рд╛


рдЕрдиреБрдХреВрд▓рди 2. рдзрдорд╛рдХрд╛

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

рдЕрдиреБрдХреВрд▓рди 3. рдЕрдВрддрд┐рдо рдХреНрд▓рд┐рдХ рдХреНрд╖реЗрддреНрд░

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

рдкрд░рд┐рдгрд╛рдо


рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЗ рдмрд╛рдж, рдореЗрд░рд╛ рд░рд┐рдХреЙрд░реНрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдерд╛:

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 2 рдорд┐рд▓рд┐рдпрди рдЪрд╛рд╣рд┐рдП рдереЗ, рд▓реЗрдХрд┐рди 4 рджрд┐рди рдХреА рдХреЛрд╢рд┐рд╢, рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХреЛрдб рдХреА рдПрдХ рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЗрдВ (рд╕реНрд╡-рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд╕рд╛рде), рд▓реЙрдЧ рдХреЗ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдзреВрдореНрд░рдкрд╛рди рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рд╕рд╛рдордВрдЬрд╕реНрдп, рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред = (
рдЧрд┐рдердм рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд▓рд┐рдВрдХ: github.com/EvilTosha/DiamondDash

рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрдЬрд╛рдпред AutoIt рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж


рдореБрдЭреЗ рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдпрд╣ рднрд╛рд╖рд╛ рд▓рдЧрднрдЧ рдХреЗрдВрджреНрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рджрд░рдЕрд╕рд▓, рдЗрд╕ рдЕрдиреНрдпрд╛рдп рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдиреЗ рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред
рдЗрд╕реА рд╕рдордп, рднрд╛рд╖рд╛ рдХрд╛рдлреА рдХреБрдЫ рдХрд░ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╕реАрдЦрдиреЗ рдХреА рдЕрджреНрднреБрдд рд╕рд░рд▓рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдореИрдХреНрд░реЛ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЬреНрдЮрд╛рди рдерд╛ред
AutoIt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдирд┐рдпрдорд┐рдд рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рд╕рд╣реЗрдЬрдирд╛, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ (рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрдИ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рддреЛ рдХрдИ рд▓реЙрдЧрд┐рди рдХрд╣реАрдВ ... рдЖрдк рдЗрд╕реЗ exe-shnik рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, DLL рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдХреБрдЫ, рдПрдХ рдкреНрд░рдЪрд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдмрд╛рдд рдХреАред =)

UPD рд╡реАрдбрд┐рдпреЛ рдХрд╛ рдХрд╛рдо


рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред

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


All Articles