рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рдХрд╛рд░рдЦрд╛рдиреЗред рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдФрд░ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╣реИ

рд╣реИрд▓реЛ, рд╣рд╛рдмрд░рд╛!

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







рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрдЯреМрддреА рдкрд╛рда рдХреЗ рддрд╣рддред





рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рдХрд╛рд░рдЦрд╛рдиреЗ



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



function animal() { ... } animal.prototype.left = function() { ... } animal.prototype.right = function() { ... }
      
      





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



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



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



 var properties = { speed: { x: 0, y: 0 limit: { x: 10, y: 10 } }, acceleration: { x: 0, y: 0 }, live: { health: 100, killing: 0, level: 0 } };
      
      





 var prototypes = { left: function() { ... }, right: function() { ... } };
      
      





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



 var objectA = factory([ "physics", "live" ], [ "left" ]); var objectB = factory([ "live", "acceleration" ], [ "right" ]);
      
      





рдлреИрдХреНрдЯреНрд░реА рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:



 var object = {}; //   for(var name in properties) { object[name] = properties[name]; } //   for(var method in prototypes) { object.prototype[method] = prototype[method]; }
      
      











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



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



 var classList = { ... block: { _properties: [ //  ,    "skin", "dimensions", "physics", "coordinates", "type" ], _prototypes: [], //  ,    _common: { //     _properties: { move: false //  move     false } }, floor: { //       roughness: 0.37 //     }, gold: { roughness: 0.34 }, sand: { roughness: 0.44 //   ,    , }, //    water: { roughness: 0.25 } } };
      
      





рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдорд╛рди рд╕реВрдЪреА рд╣реЛрдиреЗ рд╕реЗ, рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдПрдкреАрдЖрдИ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:



 block.gold(); //    block.sand(); //    block.water(); //   
      
      





рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рдПрдХ рдХрд╛рд░рдЦрд╛рдирд╛ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рдЖрдХрд╛рд░ рдЦреЗрд▓ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╡рд┐рд╡рд┐рдзрддрд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ JSON рдкреНрд░рдХрд╛рд░ рдХреА рддреАрди рд╕реВрдЪрд┐рдпрд╛рдБ:







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



рдЙрджрд╛рд╣рд░рдг рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд▓реЗрдЦрди рдлрд╝рд╛рдЗрд▓:



 var properties = { physics: { speed: { x: "   X", y: "   Y", limit: { x: "    X,     .", y: "    Y,     ." } }, acceleration: { x: "    X.   ...", y: "    Y.   ..." }, }, live: { health: "  .", killing: "   .", level: "  ." } };
      
      





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







рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?



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







рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдорд╛рдирдХреАрдХрд░рдг





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



рд╕рдорд╕реНрдпрд╛:



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







рд╕рдорд╛рдзрд╛рди:







рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рдерд┐рдпрд╛рд░реЛрдВ рдФрд░ рд╡рд╛рд╣рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ () рд╡рд┐рдзрд┐ рдЕрд▓рдЧ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдХрд╛рд░рдЦрд╛рдиреЗ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рдордп рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП?



рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдпрд╣ рд╕реВрдЪреА рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдирд╛рдо рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕реВрдЪреА рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:



 //       var replaceList = { ... weapon: "use", transport: "use" } //  ,      for(var method in prototypes) { var name = replaceList[method] || method; object.prototype[name] = prototype[method]; }
      
      











рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╣рдерд┐рдпрд╛рд░ рдХреЛ "рд╣рдерд┐рдпрд╛рд░", рдФрд░ рдкрд░рд┐рд╡рд╣рди - "рдкрд░рд┐рд╡рд╣рди" рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЙрдкрдпреЛрдЧ рд╡рд┐рдзрд┐ рд╣реЛрдЧреА, рдЬрд┐рд╕рдХреЗ рдкреАрдЫреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдПрдЧреАред рдРрд╕реА рдмрд╣реБрд░реВрдкрддрд╛ред



рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрд╕реЗ рд╕рд╣реЗрдЬрдирд╛ рдФрд░ рд▓реЛрдб рдХрд░рдирд╛ рд╣реИ





рдЕрдм рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдбрд╝реА рджреБрдирд┐рдпрд╛ рд╣реИ (Minecraft рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ), рдпрд╣ рдирд┐рдореНрди рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ - рдмрдЪрд╛рдиреЗ / рд▓реЛрдб рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред



рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (JSON.stringify), рд▓реЗрдХрд┐рди рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:







рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЕрд▓рдЧ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред



рд╡рд╕реНрддреБрдУрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдкрд░ рдкреНрд░рддрд┐рдмрдВрдзред







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



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



рдпрд╛ рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг:



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



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



рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЪреЗрди рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред







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



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЛрдбрд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдлрд┐рд░ рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХрд╛рд░рдЦрд╛рдиреЗ рдореЗрдВ рднреЗрдЬреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдмрд╣рд╛рд▓реА рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдореЗрдВред рд╡рд╣рд╛рдВ, рд╡рд╕реНрддреБрдПрдВ рдХрд╛рдо рдХрд╛ рдХреЗрд╡рд▓ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдкрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреА - рд╕реВрдЪреА рдкрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреА рд╡рд┐рд░рд╛рд╕рддред



All Articles