"рдХреИрдкреНрдЪрд╛: рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк" рдпрд╛ рдХреИрдкреНрдЪрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╕реЗ рджреВрд░ рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдФрд░ рдкреНрд░рдпрд╛рд╕

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





рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


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

рдкреВрд░реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рд╣реА рдЬреАрдердм рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдмреАрдЪ, рдореИрдВ рдЙрди рдореБрдЦреНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
1. рднрд╡рд┐рд╖реНрдп рдХреЗ рд╣рд▓рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд░рдВрдЧреЛрдВ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рд░рдгреА рдмрдирд╛рдПрдВред
this.colors = ["red", "green", "blue", "pink", "yellow", "orange", "violet"]; 

2. рд╣рд▓рдХреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред
 generateObjects = function(g) { var used = []; var used_ = []; //   var colors = shuffle(self.colors); //    ,     var howMuch = rand(3, colors.length); for (var i = 0; i < howMuch; i++) { var centerX = rand(10, self.width); var centerY = rand(10, self.height); var radius = rand(10, 15); g.beginPath(); g.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); g.fillStyle = colors[i]; g.fill(); g.lineWidth = 1; g.strokeStyle = colors[i]; g.stroke(); used.push(colors[i]); used_.push({ x: centerX, y: centerY, //  ,       r: radius }); } //          var a = rand(0, howMuch - 1); self.active = used_[a]; return used[a]; }; 

3. рджрдмрд╛рдиреЗ рдФрд░ рд╕рд░реНрдХрд▓ рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рджреЛ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
 mouseReleased = function(dim) { //     lib/captcha_listener.js dim.x = dim.x - $(self.canvas).offset().left; dim.y = dim.y - $(self.canvas).offset().top; //  ,       "" if (self.inBounds(dim)) { //    $(".captchaResult").val(dim.x + ":" + dim.y); //      POC,    ,        if (self.inCircle(dim)) { alert("nice!"); } else { alert("bot..."); } } }; 

TheCircle () рд╕реНрд╡рдпрдВ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
 inCircle = function(dim) { var a = self.active; //     ,      // NB!  -    ,         var x0 = ax - ar; var x1 = ax + ar; var y0 = ay - ar; var y1 = ay + ar; if (x0 <= dim.x && dim.x <= x1 && y0 <= dim.y && dim.y <= y1) { return true; } else { return false; } }; 


рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рддрд╛рдЬрд╛ рдмреЗрдХреНрдб рдХреИрдкреНрдЪрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


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

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

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

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


All Articles