рдХреЛрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА

рдЫрд╣ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЕрдкрдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХ ( habrahabr.ru/post/163881 ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦреА, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ (рдФрд░ рд╕рд┐рд░реНрдл рдореБрдЭреЗ рдирд╣реАрдВ) рддреЗрдЬреА рд▓рд╛рдиреЗ рдФрд░ рдЕрдкрдирд╛ рдХрд╛рдо рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреАред

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

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдВрджрд░реНрдн-рд╡рд╕реНрддреБ-рдЕрдиреБрд░реЛрдз-рдШрдЯрдирд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рджреВрдВрдЧрд╛, рдФрд░ рд╣рдо рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╡реЗ рд╡рд╕реНрддреБрдУрдВ, рдШрдЯрдирд╛рдУрдВ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред



рд╕рдорд╕реНрдпрд╛ рдХрдерди рдФрд░ рдмрд╣рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рд░



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

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

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдЙрд╕ рдЯрд╛рд╕реНрдХ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рд▓реИрдВрдЧреНрд╡реЗрдЬ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдлреЙрд░реНрдореНрдпреБрд▓реЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

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

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

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

рдпрд╣ рд╕рдордЭрдирд╛ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ? рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдореВрд░реНрдд рдЦреЗрд▓ рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ (рдпрд╛ рдХреБрдЫ рдФрд░) js рдореЗрдВ:
addMoney: function(amount) { this.balance+=amount; if(this.balance > 250) { $('.you_win!').animate({css:{opacity: 1}}) } } 

рдпрд╣ рдХреЛрдб рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИред рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдкреИрд╕реЗ рдХреЗ рддрд░реНрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рднреА рдмрджрддрд░:

 $('.coin').click(function(){ this.balance+=15; if(this.balance > 250) { $('.you_win").animate({css:{opacity: 1}}) } }) 


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

рд╣рдо рдХрд╛рд░реНрдп рдХреЛ рддреАрди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдбрд┐рд╕реНрдкреНрд▓реЗ рдФрд░ UI рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛, рджреВрд╕рд░реЗ рдЦрд╛рддреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП, рддреАрд╕рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬреАрдд рдпрд╛ рд╣рд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
 var UI = { handleCoinClick: function() { .... }, showWinAnimation: function() { .... }, ... } var Balance = { addCoins: function() { ... }, ... } var WinWatcher = { watchForWin: function() { .... } ... } 


рдпрд╣рд╛рдВ рдпреВрдЖрдИ рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдХреНрд▓рд┐рдХ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рдЕрдм рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ рдШрдЯрдирд╛рдУрдВ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ
 var UI = { handleCoinClick: function() { // ,   DOM Init,   ,      .... $('.coin').click(function(){ //       Event_CoinClick ..... }); }, showWinAnimation: function() { // ,        Request_ShowUserWin $('.you_win').animate({opacity: 0}); }, ... } var Balance = { addCoins: function() { // ,    ┬л  ┬╗ Event_CoinClick this.balance+=15; //   ,     Event_BalanceChanged }, ... } var WinHandler = { watchForWin: function(balance) { // ,   ,    Event_BalanceChanged if(balance > 250) { //   ,    Request_ShowUserWin } } ... } 


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

рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╡рд┐рдзрд┐ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдШрдЯрдирд╛ рдкреНрд░реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░реЗрдВ

Core.js


рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ github.com/okneigres/corejs рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдФрд░ Node.js рдХреЗ рддрд╣рдд рджреЛрдиреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

 <script src="core.js"></script> var Game = { }; //  Game.UI = { CoinClickEvent: new Core.EventPoint, handleCoinClick: function() { Core.CatchEvent(Event.DOM.Init); $('.coin').click(function(){ new Game.UI.CoinClickEvent(); }); }, showWinAnimation: function() { Core.CatchRequest(Game.WinHandler.ShowUserWinRequest); $('.you_win').animate({opacity: 0}); }, ... } Game.Balance = { ChangedEvent: new Core.EventPoint, addCoinsOnClick: function() { Core.CatchEvent(Game.UI.CoinClickEvent) this.balance+=15; new Game.Balance.ChangedEvent; } ... } Game.WinHandler = { ShowUserWinEvent: new Core.EventPoint, ShowUserWinRequest: new Core.RequestPoint, watchForWin: function(balance) { Core.CatchEvent(Game.Balance.ChangedEvent) if(balance > 250) { new Game.WinHandler.ShowWinRequest; } } ... } Core.processNamespace(Game); 


рдЕрдм рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ: рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ:

 //       Game.GatherStat = { sendClick: function() { Core.CatchEvent(Game.UI.CoinClickEvent); $.post('/stat/gather/ajax', {click: 1, date: new Date}); }, sendWin: function() { Core.CatchEvent(Game.WinHandler.ShowUserWinEvent); $.post('/stat/gather/ajax', {win: 1, date: new Date}); } } 


рд░рд┐рдлреИрдХреНрдЯрд░ UI (рджреЛ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд - UI рдФрд░ UIWin):

 Game.UI = { CoinClickEvent: new Core.EventPoint, handleCoinClick: function() { Core.CatchEvent(Event.DOM.Init); $('.coin').click(function(){ new Game.UI.CoinClickEvent(); }); } }; Game.UIWin = { showWinAnimation: function() { Core.CatchRequest(Game.WinHandler.ShowUserWinRequest); $('.you_win').animate({opacity: 0}); }, ... }; 


рдЕрдм рдЬрдм рдХреЛрдб рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдЦреНрдд рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп



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

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

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


All Articles