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

рдХреИрдЯ gif рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рддрд╣рдд, 10 рдореЗрдЧрд╛рдмрд╛рдЗрдЯред
рдЦреЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЦреЗрд▓ рдореЗрдВ рдЖрдк рдПрдХ рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рдХрд╛рд╢ рдХреА рджреАрд╡рд╛рд░ рдХреЗ рдкреАрдЫреЗ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИред рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди рд╕реАрдорд┐рдд рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡рд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рд╣реИред рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рд▓рдЧрд╛рддрд╛рд░ рд╕рд╡рд╛рд░реА рдХрд░рддреА рд╣реИ, рдЖрдк рдХреЗрд╡рд▓ рдореЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореИрджрд╛рди рдкрд░ рдЦрд╛рд▓реА рд╕реАрдЯ рдирд┐рдХрд▓ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдмрд╛рдзрд╛рдУрдВ рд╕реЗ рдмрдЪрдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬреЛ рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЬреАрддрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдиреЛрдб.рдЬреЗрдПрд╕ рдФрд░ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреЗрдо рдХреНрд▓реЛрди рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд рдмрд╣реБ-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдпрд╛ред рджреЛ рдмрдЯрди рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓ - рд▓реЗрдлреНрдЯ рдЯрд░реНрди рдФрд░ рд░рд╛рдЗрдЯ рдЯрд░реНрдиред
рдмреЙрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдЪреВрдБрдХрд┐ рдореИрдВ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рд╢реЗрд╖ рд╕реЙрдХреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдкрд░ рдХрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдерд╛ рдЬреЛ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдмрдирд╛рддрд╛ рд╣реИред рдЗрди рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕реЗ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЖрдИрдбреА, рдПрдорд┐рдЯ рдФрд░ рдкреНрд░рд╕рд╛рд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рддреЛ, рдпрд╣ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рджрд░реНрдж рд░рд╣рд┐рдд рд╣реИ, рдЖрдк рд╕реЙрдХреЗрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ
рдмреЛрдЯрд╕реЙрдХреЗрдЯ рдХреНрд▓рд╛рд╕ рдХреЛ рдмреБрд▓рд╛рдпрд╛ред
рдмреЙрдЯ рдореЗрдВ
рдПрдорд┐рдЯ (рдИрд╡реЗрдВрдЯ, рдбреЗрдЯрд╛) рд╡рд┐рдзрд┐ рд▓рдЧрднрдЧ рдЙрд╕реА рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд░рддреА рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рддреН:
- рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдкрд░ рд╕рднреА рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рдЪрд▓рд╛рдиреЗ рдкрд░ рдбреЗрдЯрд╛ рдмрдЪрд╛рддрд╛ рд╣реИ
- рдЬрдм рдЖрдк рдЗрд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдЕрдкрдиреА рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд░рдЦрддрд╛ рд╣реИ
- рд╕рднреА рдЦреЗрд▓ рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рдкрд░ рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
- рдЬрдм рдЦреЗрд▓ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрдиреА рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдЖрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдРрд╕реЗ рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЧреЗрдо рдХреНрд▓рд╛рд╕ рдХреА рд╡рд┐рдзрд┐ рдХреЛ
рдСрдирдХрдВрдЯреНрд░реЛрд▓ (рд╕реЙрдХреЗрдЯ, рдбреЗрдЯрд╛) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ
рдмреЛрдЯрд╕реЙрдХреЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛
BotSocket.prototype.control = function(data) { this.game.onControl(this, data); };
рдЬрдм рдПрдХ рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрддрд╛ рд╣реИ (рдЙрдирдХрд╛ рдЖрдВрджреЛрд▓рди рдкреНрд░рддрд┐рдмрджреНрдз рдерд╛), рдореИрдВ рдЬрд╛рдВрдЪрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдирд┐рдпрдВрддреНрд░рд┐рдд рдореЛрдЯрд░рд╕рд╛рдЗрдХрд┐рд▓ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдЯрдХрд░рд╛ рдЧрдИ рд╣реЛ рдпрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдИ рд╣реЛ, рдФрд░, рдпрджрд┐ рд╕рдлрд▓ рд╣реЛ, рддреЛ рдореИрдВ рдПрдЖрдИ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдХрд╣рддрд╛ рд╣реВрдВ -
рдЕрджреНрдпрддрди () ред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддреИрдпрд╛рд░ рд╣реИ, рдЕрдм рдЖрдк рд╕реНрд╡рдпрдВ рд╣реА AI рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдХреГрддреНрд░рд┐рдо рдмреБрджреНрдзрд┐
рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдЬреЛрд░ рд╕реЗ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрди рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдЦреЗрд▓ рдореЗрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд░ рдЦреЗрд▓рддрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдЖрдИ рдпрд╛ рдмреЙрдЯреНрд╕ рдХрд╣рдиреЗ рдХрд╛ рд░рд┐рд╡рд╛рдЬ рд╣реИред рдПрдХ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЙрдЯрд╕реНрдХреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЧреЗрдо рдбреЗрдЯрд╛ рд╣реИред рдХреЗрд╡рд▓ рддреАрди рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:
- рдХреБрдЫ рдордд рдХрд░реЛ, рд╕реАрдзреЗ рдЧрд╛рдбрд╝реА рдЪрд▓рд╛рдУ
- рджрд╛рдИрдВ рдУрд░ рдореБрдбрд╝реЗрдВ
- рдмрд╛рдПрдВ рдореБрдбрд╝реЗрдВ
рдЬрдм рдореИрдВрдиреЗ рдмреЙрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдХреЛрдб рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
BotSocket.prototype.update = function() { var r = Math.random(); if (r > 0.95) { this.control({'button': 'right'}); } else if (r > 0.90) { this.control({'button': 'left'}); } }
рд╡реНрдпрд╡рд╣рд╛рд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдерд╛:

рдореИрдВрдиреЗ рдЙрд╕реЗ рджреЗрдЦрд╛ рдФрд░ рдмрд╣реБрдд рдЦреБрд╢реА рдорд╣рд╕реВрд╕ рдХреА, рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрд╛ рдХрд┐ рд╡рд╣ рдЕрдм рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ рд╡рд╣ рдЦреБрдж рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рдЬреАрд╡рд┐рдд рд╣реЛред рдПрдХ рдорд╛рд░реНрдорд┐рдХ рджреГрд╖реНрдЯрд┐ред
рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╡рд╣ рдпрдерд╛рд╕рдВрднрд╡ рдЬреАрд╡рд┐рдд рд░рд╣реЗред рдореИрдВрдиреЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдХрд┐ рдПрдЖрдИ рдХреЛ рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЭреЗ рдРрд╕реЗ рд▓реЗрдЦ рдорд┐рд▓реЗ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд▓рдЧ рд░рд╣реА рдереАред рдореИрдВрдиреЗ рдЬрд╝реВрдорд╛ рдЬреИрд╕реЗ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдмреЙрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдкрд╛рдпрд╛ рдХрд┐
рд▓рд╣рд░ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИред рд╡рд╣ рд▓реА рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИред рдпрд╣ рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рдЙрдкрдпреБрдХреНрдд рд▓рдЧрд╛ред рдпрд╣ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рд╕реЗ рджреВрд╕рд░реЗ рддрдХ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ рдЬрд╣рд╛рдВ рдХреЛрд╢рд┐рдХрд╛рдПрдВ рд╕реНрд╡рддрдВрддреНрд░ рдпрд╛ рд╡реНрдпрд╕реНрдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдмрд╛рдд рд╕рд░рд▓ рд╣реИред рд╣рдо рдЧрдВрддрд╡реНрдп рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ 1 рдХрд╛ рдорд╛рди рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рд╕рднреА рдкрдбрд╝реЛрд╕реА рдореБрдХреНрдд рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдПрдХ рдирдВрдмрд░ рдПрдХ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рд╕рднреА рдкрдбрд╝реЛрд╕реА рдореБрдХреНрдд рдЪрд┐рд╣реНрдирд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╣рдо рдПрдХ рдФрд░ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рд╣рдо рдЧрдВрддрд╡реНрдп рдмрд┐рдВрджреБ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддреЗред рдФрд░ рд╣рдо рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдбрд╝реЛрд╕реА рд▓реЛрдЧреЛрдВ рд╕реЗ рдЦреЛрдЬ рдХрд░ рдкрде рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рд╣рдо 1 рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддреЗред рдореИрдВрдиреЗ рд░реЗрдЦрд╛рдВрдХрди рдореЗрдВ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд▓рдЧрд╛ред
рдореИрдВрдиреЗ рдкреГрд╖реНрда рд╕реЗ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╡рд┐рдХреА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛, рдЗрд╕реЗ
рдмреЛрдЯрд╕реЙрдХреЗрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.рдЖрд▓реЙрд░реНрдЧреЗрдорд▓рд╛рдЗ рдирд╛рдо
рджрд┐рдпрд╛ ред рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░
рдпреБрджреНрдз рдХрд╛
рдореИрджрд╛рди рд╡рд╕реНрддреБ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрджреНрдпрддрди рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдЙрдирдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ред рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ, рд▓реА рдиреЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди 1 рдХреЗ рдПрдХ рдХрджрдо рдХреЗ рд╕рд╛рдеред
рдХрд┐рд╕реА рддрд░рд╣ рдЧрдВрддрд╡реНрдп рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЪреБрдирдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдХреНрд╖реЗрддреНрд░ рдкрд░ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореБрдХреНрдд рдмрд┐рдВрджреБ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛рдИ:
BotSocket.prototype.getDesiredPoint = function() { var point = []; var H = Object.keys(this.battleground[0]).length - 1; var W = Object.keys(this.battleground).length - 1; var x, y, i, j; var found = false; var iter = 0; do { i = this.getRandomInt(1, W); j = this.getRandomInt(1, H); x = i * this.moveStepSize; y = j * this.moveStepSize; if (this.battleground[x][y] === this.BG_EMPTY) { found = true; } iter++; } while (!found && iter < 100); point = [x, y]; return point; };
рдЕрдм рдореИрдВ рдЕрджреНрдпрддрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ:
BotSocket.prototype.update = function() { if (!this.desiredPoint || this.movements % this.updDestinationInterval === 0) { this.desiredPoint = this.getDesiredPoint(); } if (!this.desiredPoint) { return; } var currentPoint = [this.myBike.x, this.myBike.y]; var path = this.algorithmLee(currentPoint, this.desiredPoint); if (path && typeof path[1] !== 'undefined') { this.moveToPoint(path[1]); } else { this.desiredPoint = this.getDesiredPoint(); } };
рдореВрд╡рдореЗрдВрдЯ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ
рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ , рдЬреЛ рд╡рд░реНрддрдорд╛рди рджрд┐рд╢рд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрдо рд╕реЗ рдХрдо рдкрде рд╕реЗ рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдШреВрдорддрд╛ рд╣реИред
рдмрд╛рдж рдореЗрдВ, рдореИрдВрдиреЗ рдмреЙрдЯреНрд╕ рдХреЛ рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд╛рдВрдЫрд┐рдд рдмрд┐рдВрджреБ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд░рд╛рд╕реНрддреЗ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреБрд╢реНрдордиреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдмрд┐рдВрджреБ рдХреА рддрд▓рд╛рд╢ рдХреАред рдпрд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╡реЗ рдЗрддрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦреБрдж рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЦреЗрд▓рддреЗ рд╣реИрдВред

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

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

рдореЗрд░рд╛ рдЫреЛрдЯрд╛ рд▓рд╛рд▓, рдмрд╛рдХреА рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╣реИрдВред
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЦреБрдж рдХреЛ рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ
рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рдмреЙрдЯ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рдЬрдЧрд╛рдирд╛ рд╣реИред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдЖрд▓рд╕реНрдп рдХреЛ рд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмреЙрдЯ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА, рдЬреЛ рдореЗрд░реЗ рдЖрдзрд╛рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдЧрд╛ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ "рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЗ рд╕рд╛рде рдХрдорд░реЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдПрдВ", рдФрд░ рдлрд┐рд░ "рдЕрдкрдиреЗ рдмреЙрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд░рд╛ рдмрдирд╛рдПрдВ" рдмрдЯрди рдкрд░ред рдПрдХ рдХрдорд░рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд╣рд╛рдВ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдмреЙрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХрд╛ рдмреЙрдЯ рджреЗрд░реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗ рдмрд┐рдирд╛ рдПрдХ рдмреЙрдЯ рд╣реЛрдЧрд╛ред рдЕрдм рдЖрдкрдХреЗ рдХреЛрдб рдХрд╛ рд╕рдордп рд╣реИред
рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк, рдпрд╛ рддреЛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
- Js-file рдХреЛ рдХрд┐рд╕реА рднреА рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред "рдЕрдкрдиреА рдПрдЖрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХрд░реЗрдВ" рдмрдЯрди рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЦреЗрд▓ рдореЗрдВ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред рдЗрд╕ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдирдпрд╛ рдмреЙрдЯрд╕реНрдХреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреЙрдкреБрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯ () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ (Firebug - F12, Firefox - Ctrl + Shift + K, Chrome - Ctrl + Shift + J, рдЕрдиреНрдп - рдпрд╣рд╛рдБ ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдкрд░ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ
рдмреЙрдЯрд╕реНрдХреЗрдЯ рдХреНрд▓рд╛рд╕ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рд╕рд░рд▓:
BotSocket.prototype.update = function() { var r = Math.random(); if (r > 0.95) { this.control({'button': 'right'}); } else if (r > 0.90) { this.control({'button': 'left'}); } }
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЯрд╛рдЗрдк рдХрд░рдХреЗ botSocket рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдБ
botSocket = null;
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреГрд╖реНрда рдкрд░ рдХреЛрдб рд╕реНрд╡рдпрдВ рдХреЛ рдмрдирд╛рдПрдЧрд╛ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рднрд░ рджреЗрдЧрд╛ред рдпрд╣ рдмреЙрдЯ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред рдФрд░ рдлрд┐рд░ рдпрд╣ рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдпрд╛ рдЧрд╣рди рдЬреНрдЮрд╛рди рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред
рдЖрдк
https://raw.github.com/rnixik/tronode-js/master/public/javascripts/MyBotSocketClient.js рдмреЙрдЯ рдХреЗ рд▓рд┐рдП url рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдХреЗ рдореЗрд░реЗ рдмреЗрд╣рддрд░ рдмреЙрдЯ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рджреЗрд░реА рд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдореИрдВрдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдореИрдВрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрдирд╛ AI рдХреИрд╕реЗ рдмрдирд╛рдпрд╛, рдлрд┐рд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХреИрд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд┐рдпрд╛ рдФрд░ рдХреИрд╕реЗ рдореИрдВрдиреЗ рдЙрд╕реЗ рд╕рд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдХреИрд╕реЗ рд╣рд╛рдИ рдкрд┐рдВрдЧ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдЦреЗрд▓рдирд╛ рд╣реИред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреА рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдерд╛, рдФрд░ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдПрдЖрдИ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЕрдЧрд░ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдХрднреА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдмреЗрд╢рдХ, рд╣рд╛рдИ-рдПрдВрдб рдЧреЗрдореНрд╕ рдореЗрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдЬреАрдердм рдкрд░ рд╕реНрд░реЛрдд рдХреЛрдб:
github.com/rnixik/tronode-jsрдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдиреЛрдб.рдЬреЗрдПрд╕ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рддреИрдирд╛рдд рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
1)
tronode.livelevel.net - DigitalOcean рдкрд░ рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ VPS,
2)
tronode-js.herokuapp.com Heroku рдкрд░ рдПрдХ рдореБрдлреНрдд рдЖрднрд╛рд╕реА рдЗрдХрд╛рдИ рд╣реИред
рдкрд╣рд▓рд╛, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдкрд╣рд▓рд╛ рд╡рд╛рд▓рд╛ рд▓реЛрдб рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдХреБрдЫ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ xhr-polling рдореЗрдВ socket.io-transport рдХреЛ рдбрдВрдк рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдпрд╣ рдЧреЗрдо рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдкрд┐рдЫрдбрд╝ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдЧреЗрдо рд▓реЙрдЬрд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ
рдпрд╣рд╛рдБ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣рд╛рдБ рдиреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рднрд╛рдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣рдм рдкрд░ рдХреЛрдИ рдЦрд╛рддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╕рд╡рд╛рд▓ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдиреЗ рд░реЛрдЪрдХ рд╕реБрдЭрд╛рд╡ dev@1i1.be рдкрд░ рдореБрдЭреЗ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред