рдлреНрд▓реИрд╢ рдФрд░ рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдореИрдЪ -3 рдЧреЗрдо рдмрдирд╛рдПрдВ

рд╕рднреА рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдирдорд╕реНрдХрд╛рд░ред
рдореИрдВ рдПрдХ рд╢реБрд░реБрдЖрддреА FlashGame рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВред рдореБрдЭреЗ рдореИрдЪ-рддреАрди рдЧреЗрдо рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрдХ рдкрд╕рдВрдж рдЖрдпрд╛ред рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдкрд╛рда рдХреЛ рд╕рдордЭрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдиреБрд╡рд╛рдж рдХреНрдпреЛрдВ рдХрд┐рдпрд╛? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реЗ, рдЕрдиреБрд╡рд╛рдж рдиреЗ рдореБрдЭреЗ рд╕рднреА рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рддреАрд╕рд░реЗ, рдЗрд╕ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ рдЖрдк рдЕрдкрдиреЗ рд╕рдкрдиреЛрдВ рдХреЗ рдордЪ -3 рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдлрд╝реНрд▓реИрд╢ рдкрд░ рд╣реЛрдирд╛ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИред

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





рдлрд╝реАрд▓реНрдб (рдмреЛрд░реНрдб) = рдЧреЗрдо рдмреЛрд░реНрдб рдЬрд╣рд╛рдВ рдЪрд┐рдкреНрд╕ рд╕реНрдерд┐рдд рд╣реИрдВ, рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рди
рдЪрд┐рдк (рдЯреБрдХрдбрд╝рд╛) = рддрддреНрд╡ рдЬреЛ рд╣рдо рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдкрдВрдХреНрддрд┐ (рдореИрдЪ) = рдкрдВрдХреНрддрд┐ рдпрд╛ рд╕реНрддрдВрдн, рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдо рд╕реЗ рдХрдо 3 рдЪрд┐рдкреНрд╕ рдХрд╛ рдПрдХ рдХреНрд░рдоред
рдЧреНрд░рд┐рдб = 2-рдЖрдпрд╛рдореА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЬреЛ рдбрд┐рдЬрд┐рдЯрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдмреЛрд░реНрдб рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИред

рдЦреЗрд▓ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрд╡рд▓реЛрдХрдиред
рдЦреЗрд▓ рдореЗрдВ рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ 12 рдЪрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдп рд╣реИред
1. рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЙрддреНрдкрдиреНрди рдЦреЗрд▓ рдореИрджрд╛рди рдХрд╛ рдирд┐рд░реНрдорд╛рдгред
рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд░рдЦреЗ рдЧрдП рдЪрд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде 8x8 рдлрд╝реАрд▓реНрдб рдмрдирд╛рдирд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ 7 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд┐рд╕реНрдкреНрд▓реЗ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
2. рд▓рд╛рдЗрди рдкрд░ рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
рдореИрджрд╛рди рдкрд░ рдЪрд┐рдкреНрд╕ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд╛ рдкрд░ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЦреЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд▓рд╛рдЗрдиреЗрдВ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
3. рдкрд╣рд▓реА рдЪрд╛рд▓ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
рджреВрд╕рд░реА рд╕реАрдорд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЪрд╛рд▓ рдЪрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдЕрд╕рдореНрдмрджреНрдз рд░рдЪрдирд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
4. рдЦрд┐рд▓рд╛рдбрд╝реА 2 рдЪрд┐рдкреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред
рдЪрд┐рдкреНрд╕ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмрдЧрд▓ рдореЗрдВ (рд▓рдВрдмрд╡рдд рдпрд╛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ) рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╣реЛрддрд╛ рд╣реИред
5. рдЪрд┐рдкреНрд╕ рдХреА рдЕрджрд▓рд╛-рдмрджрд▓реА рд╣реЛрддреА рд╣реИред
рдпрд╣рд╛рдВ рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдиреАрдореЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
6. рд▓рд╛рдЗрди рдкрд░ рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
рд╡рд┐рдирд┐рдордп рдХреЗ рдмрд╛рдж, рд╣рдо рдореИрджрд╛рди рдкрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рд░реЗрдЦрд╛рдПрдВ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИрдВ, рддреЛ рдЪрд┐рдкреНрд╕ рдХреЛ рд╡рд╛рдкрд╕ рдЬрдЧрд╣ рдкрд░ рд╕реНрд╡реИрдк рдХрд░реЗрдВред
7.рдЬрдм рд▓рд╛рдЗрди рдорд┐рд▓ рдЬрд╛рдП, рддреЛ рд╣рдо рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдЕрдВрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкреБрд░рд╕реНрдХреГрдд рдХрд░рддреЗ рд╣реИрдВред
8. рд╣рдо рдлрд╝реАрд▓реНрдб рд╕реЗ рд▓рд╛рдЗрдиреЗрдВ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред
9. рдЧрд╛рдпрдм рд╣реБрдП рд╕реНрдерд╛рди рдкрд░ рдКрдкрд░реА рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред
10. рдкрд░рд┐рдгрд╛рдореА voids рдХреЛ рднрд░реЗрдВред
11. рдлрд┐рд░ рд╣рдо рд▓рд╛рдЗрди рдкрд░ рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдкреИрд░рд╛рдЧреНрд░рд╛рдл 6 рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВред
рд╕рднреА рдЪрд┐рдкреНрд╕ рдЦрд╛рд▓реА рд╕реАрдЯреЛрдВ рдкрд░ рдЧрд┐рд░ рдЧрдП, рдФрд░ рдирдП рд▓реЛрдЧреЛрдВ рдиреЗ voids рдХреЛ рднрд░ рджрд┐рдпрд╛, рдЖрдкрдХреЛ рд▓рд╛рдЗрди рдкрд░ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
12. рдкреНрд░рдЧрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдПрдХ рдЪрд╛рд▓ рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдореИрджрд╛рди рдкрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдЪрд╛рд▓реЗрдВ рд╣реИрдВред

рд╣рдорд╛рд░реА рдХреНрд▓рд┐рдк рдФрд░ рдХреНрд▓рд╛рд╕ рдорд╛рдЪрд┐рд╕
MatchThree.fla рдХреНрд▓рд┐рдк рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрд░рд┐рдпрд▓ рдлреЙрдиреНрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдБ рд╕рд╛рдд рдлреНрд░реЗрдо рдХреА рдПрдХ рдХреНрд▓рд┐рдк рд╣реИред рдХрд▓рд░ рд▓реЗрдпрд░ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреА рдЪрд┐рдк рд╣реЛрддреА рд╣реИред рд╢реАрд░реНрд╖ рдЪрдпрди рдкрд░рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрдпрдирд┐рдд рдЪрд┐рдк рдХреЛ рдлрд╝реНрд░реЗрдо (рдЪрдпрди) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдореЗрдВ рджреГрд╢реНрдпрдорд╛рди рд╕рдВрдкрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



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

рдкреИрдХреЗрдЬ {
рдЖрдпрд╛рдд рдлрд╝реНрд▓реИрд╢ред рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ ред * ;
рдЖрдпрд╛рдд рдлрд╝реНрд▓реИрд╢ред рдШрдЯрдирд╛рдУрдВ ред * ;
рдЖрдпрд╛рдд рдлрд╝реНрд▓реИрд╢ред рдкрд╛рда ред * ;
рдЖрдпрд╛рдд рдлрд╝реНрд▓реИрд╢ред рдмрд░реНрддрди ред рдЯрд╛рдЗрдорд░;


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИрдВ: рдПрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЙрдиреНрдореБрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рдк рдХреЗ рдкреНрд░рдХрд╛рд░ (рд╕рд╛рдд рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдк) рдФрд░ рддреАрди рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

рдкрдмреНрд▓рд┐рдХ рдХреНрд▓рд╛рд╕ рдореИрдЪрдереНрд░реА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░
// рд╕реНрдерд┐рд░рд╛рдВрдХ
// рдЪрд┐рдк рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЦреНрдпрд╛
рд╕реНрдЯреИрдЯрд┐рдХ рдХрд╛рд╕реНрдЯ рдиреНрдпреВрдордкреНрд╕: рдпреВрдЗрдВрдЯ = 7 ;
// рджреЛ рдЪрд┐рдкреНрд╕ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА
рд╕реНрдерд┐рд░ рдЧрддрд┐ рд░рд┐рдХреНрддрд┐: рд╕рдВрдЦреНрдпрд╛ = 45 ;
// рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЗрдВрдбреЗрдВрдЯ
рд╕реНрдерд┐рд░ рдХрд╛рд╕реНрдЯ рдСрдлрд╕реЗрдЯ: рд╕рдВрдЦреНрдпрд╛ = 120 ;
// рдКрдкрд░ рдЗрдВрдбреЗрдВрдЯ
рд╕реНрдерд┐рд░ рдХрд╛рд╕реНрдЯ рдСрдлрд╕реЗрдЯ: рд╕рдВрдЦреНрдпрд╛ = 30 ;


рдЧреЗрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ 5 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЧреНрд░рд┐рдб рдореЗрдВ рд╕рднреА рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рд╣реЛрдВрдЧреЗред рдЧреНрд░рд┐рдб рдПрдХ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рд░рдгреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд┐рдб рддрддреНрд╡ рдореЗрдВ 8 рдЯреБрдХрдбрд╝реЛрдВ ( рдореЛрд╣рд░реЗ ) рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛрдЧреАред рдпрд╣ рд╕рдм рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕, рдПрдХ 8x8 рд╕рд░рдгреА рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ рдФрд░ рд╣рдо рдХрд┐рд╕реА рднреА рдЪрд┐рдк рдХреЛ рд▓рд┐рдВрдХ рдЧреНрд░рд┐рдб [x] [y] рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
GameSprite рд╕реНрдкреНрд░рд╛рдЗрдЯ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╕рднреА рд╕реНрдкреНрд░рд╛рдЗрдЯ рдФрд░ рдореВрд╡реА рдХреНрд▓рд┐рдк рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ рдордВрдЪ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рджреЗрдВрдЧреЗред
рдЪрд░ рдлрд░реНрд╕реНрдЯрдкрд╛рдЗрдкрд░ рдореЗрдВ рдкрд╣рд▓реЗ рдХреНрд▓рд┐рдХ рдХреА рдЧрдИ рдЪрд┐рдк рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛ред
рджреЛ рд▓реЙрдЬрд┐рдХрд▓ ( рдмреВрд▓рд┐рдпрди ) рд╡реИрд░рд┐рдПрдмрд▓ рдЖрдИрдбреНрд░реЙрдкрд┐рдВрдЧ , рдЖрдИрд╕рдкреИрдкрд┐рдВрдЧ рдЯреНрд░реИрдХ рдХрд░реЗрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ рдлрд┐рд▓рд╣рд╛рд▓ рдХрд┐рди рдЪрд┐рдкреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЧреЗрдордХреЛрд░ рдЪрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдЕрдВрдХ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ред

// рдЦреЗрд▓ рдЧреНрд░рд┐рдб рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рдирд┐рдЬреА рд╕рдВрд╕реНрдХрд░рдг рдЧреНрд░рд┐рдб: рдРрд░реЗ ;
рдирд┐рдЬреА var gameSprite: рд╕реНрдкреНрд░рд╛рдЗрдЯ;
рдирд┐рдЬреА var рдлрд░реНрд╕реНрдЯрдкреЙрдЗрдВрдЯ: рдЯреБрдХрдбрд╝рд╛;
рдирд┐рдЬреА varDropping, isSwapping: рдмреВрд▓рд┐рдпрди ;
рдирд┐рдЬреА var gameScore: int ;


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

рдиреЛрдЯред
рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЦрд╛рд▓реА рд╕реНрд▓реЙрдЯ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рд░рдгреА рдХреЗ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдорд╛рди рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдкрд┐рдЫрд▓реЗ рд╕рднреА рддрддреНрд╡ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдорд╛рди рд╕реЗ рднрд░реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдП рдмрдирд╛рдП рдЧрдП рдПрд░реЗ рдореЗрдВ, рд╣рдо "рдорд╛рдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ" рдХреЛ рддреАрд╕рд░реЗ рддрддреНрд╡ (рдЗрдВрдбреЗрдХреНрд╕ [2] рдХреЗ рддрд╣рдд) рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ 3 рд╣реЛрдЧреА, рдФрд░ рддрддреНрд╡реЛрдВ [0] рдФрд░ [1] рдХреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдорд╛рди рдорд┐рд▓реЗрдЧрд╛ред

рдЕрдЧрд▓рд╛ рд╣рдо рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЕрд▓рдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ , isSwapping рдФрд░ gameScore ред рд╣рдо рдЦреЗрд▓ рдореЗрдВ рдЪрд┐рдкреНрд╕ рдХреЗ рд╕рднреА рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ ENTER_FRAME рдкрд░ рд╢реНрд░реЛрддрд╛ рдХреЛ рднреА рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

// рдЧреНрд░рд┐рдб рдХреЛ рдЖрд░рдВрдн рдХрд░реЗрдВ () рдФрд░ рдЦреЗрд▓ рд╢реБрд░реВ рдХрд░реЗрдВ
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ startMatchThree ( ) {
// рдЧреНрд░рд┐рдб (рдЧреНрд░рд┐рдб) рдмрдирд╛рдирд╛ рдФрд░ рд╢реБрд░реВ рдХрд░рдирд╛
рдЧреНрд░рд┐рдб = рдирдпрд╛ рдРрд░реЗ ( ) ;
( var рдЧреНрд░рд┐рдбреНрд░реЛ: int = 0 ; рдЧреНрд░рд┐рдбреНрд╕ < 8 ; рдЧреНрд░рд┐рдбреНрд░реЛ ++ ) {
рдЧреНрд░рд┐рдбред рдзрдХреНрдХрд╛ ( рдирдпрд╛ рдРрд░реЗ ( ) ) ;
}
setUpGrid ( ) ;
isDropping = false ;
isSwapping = false ;
gameScore = 0 ;
addEventListener ( рдШрдЯрдирд╛ред ENTER_FRAME , MovePothers ) ;
}


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

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ setUpGrid ( ) {
// рд▓реВрдк рдЬрдм рддрдХ рд╣рдо рдПрдХ рдЦреЗрд▓рдиреЗ рдпреЛрдЧреНрдп рдЧреНрд░рд┐рдб рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ
рдЬрдмрдХрд┐ ( рд╕рдЪреНрдЪрд╛ ) {
// рдПрдХ рдкреНрд░реЗрдд рдмрдирд╛рдПрдБ
gameSprite = рдирдпрд╛ рд╕реНрдкреНрд░рд╛рдЗрдЯ ( ) ;

// 64 рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд┐рдкреНрд╕ рдЬреЛрдбрд╝реЗрдВ
( var col: int = 0 ; col < 8 ; col ++ ) рдХреЗ рд▓рд┐рдП {
( var рдкрдВрдХреНрддрд┐: int = 0 ; рдкрдВрдХреНрддрд┐ < 8 ; рдкрдВрдХреНрддрд┐ ++ ) {
addPhew ( рдХреЙрд▓, рдкрдВрдХреНрддрд┐ ) ;
}
}


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

// рдпрджрд┐ рдлрд╝реАрд▓реНрдб рдкрд░ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ, рддреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
рдЕрдЧрд░ ( рджреЗрдЦреЛрдлреЙрд░рдореИрдЪ ( ) ред рд▓рдВрдмрд╛рдИ ! = 0 ) рдЬрд╛рд░реА рд╣реИ ;

// рдореИрджрд╛рди рдкрд░ рдХреЛрдИ рдЪрд╛рд▓ рдирд╣реАрдВ рд╣реИ рддреЛ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ
рдЕрдЧрд░ ( рджреЗрдЦреЛFossPossibles ( ) == рдЧрд▓рдд ) рдЬрд╛рд░реА рд╣реИ ;

// рдХреЛрдИ рд░реЗрдЦрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдПрдХ рдЪрд╛рд▓ рд╣реИ, рд▓реВрдк рдХреЛ рддреЛрдбрд╝ рджреЗрдВ
рддреЛрдбрд╝рдирд╛ ;
}
// рд╕реНрдкреНрд░рд╛рдЗрдЯ рдЬреЛрдбрд╝реЗрдВ
addChild ( gameSprite ) ;
}


рдЪрд┐рдкреНрд╕ рдЬреЛрдбрд╝рдирд╛
AddPhew рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрд▓рдо рдФрд░ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд┐рдк рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рд╕реНрдерд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
// рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд┐рдк рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдФрд░ рдЧреНрд░рд┐рдб рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ addPhew ( рдХреЙрд▓, рдкрдВрдХреНрддрд┐: int ) : рдЯреБрдХрдбрд╝рд╛ {
var newPiece: рдЯреБрдХрдбрд╝рд╛ = рдирдпрд╛ рдЯреБрдХрдбрд╝рд╛ ( ) ;
newPieceред x = col * рд░рд┐рдХреНрддрд┐ + рдСрдлрд╕реЗрдЯрдПрдХреНрд╕;
newPieceред y = рдкрдВрдХреНрддрд┐ * рд░рд┐рдХреНрддрд┐ + рдСрдлрд╕реЗрдЯ;


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

newPieceред col = col;
newPieceред рдкрдВрдХреНрддрд┐ = рдкрдВрдХреНрддрд┐;
newPieceред рдкреНрд░рдХрд╛рд░ = рдЧрдгрд┐рдд ред рд╕реЗрд▓ ( рдЧрдгрд┐рдд ред рдпрд╛рджреГрдЪреНрдЫрд┐рдХ ) ( * 7 ) ;
newPieceред gotoAndStop ( newPibl; type ) ;


рдЯреБрдХрдбрд╝рд╛ рдХреНрд▓рд┐рдк рдХреЗ рдЕрдВрджрд░ рдореВрд╡реА рдХреНрд▓рд┐рдк рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдПрдХ рдлреНрд░реЗрдо рд╣реИ рдЬреЛ рдПрдХ рдХреНрд▓рд┐рдХ рдХреА рдЧрдИ рдЪрд┐рдк рдХреЗ рдКрдкрд░ рдШреВрдорддрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЗрд╕рдХреА рджреГрд╢реНрдпрдорд╛рди рд╕рдВрдкрддреНрддрд┐ рдЭреВрдареА рд╣реЛрдЧреАред рд╣рдо рдЧреЗрдо рдЪрд┐рдк рдореЗрдВ рдЯреБрдХрдбрд╝рд╛ рдЪрд┐рдк рдХреНрд▓рд┐рдк рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЧреНрд░рд┐рдб рдореЗрдВ рдПрдХ рдЪрд┐рдк рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдбрдмрд▓ рдмреНрд░реИрдХреЗрдЯ рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ [col] [рдкрдВрдХреНрддрд┐] = newPhew ред рдкреНрд░рддреНрдпреЗрдХ рдЪрд┐рдк рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рд╢реНрд░реЛрддрд╛ ( рд╢реНрд░реЛрддрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ) рдХреЛ рд▓рдЯрдХрд╛рдПрдВрдЧреЗ ред рдлрд┐рд░ рд╣рдо рдЪрд┐рдк ( рдЯреБрдХрдбрд╝рд╛ ) рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдВрдЧреЗред рд╣рдо рдЗрд╕ рд▓рд┐рдВрдХ рдХреЛ setUpGrid рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ voids рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдЪрд┐рдкреНрд╕ рдмрдирд╛рддреЗ рд╕рдордп рдХрд░реЗрдВрдЧреЗред

newPieceред рдЪрдпрди рдХрд░реЗрдВ ред рджреГрд╢реНрдпрдорд╛рди = рдЭреВрдард╛ ;
gameSpriteред addChild ( newPhew ) ;
рдЧреНрд░рд┐рдб [ рдХрд░реНрдирд▓ ] [ рдкрдВрдХреНрддрд┐ ] = рдирдпрд╛ рднрддреАрдЬреА;
newPieceред addEventListener ( рдорд╛рдЙрд╕рдЗрд╡реЗрдВрдЯред рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ , рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ) ;
NewPhew рд╡рд╛рдкрд╕ рдХрд░реЗрдВ;
}


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

// рдЦрд┐рд▓рд╛рдбрд╝реА рдЪрд┐рдк рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ( рдЗрд╡реЗрдВрдЯ: рдорд╛рдЙрд╕рдЗрд╡реЗрдВрдЯ ) {
var рдЯреБрдХрдбрд╝рд╛: рдЯреБрдХрдбрд╝рд╛ = рдЯреБрдХрдбрд╝рд╛ ( рдШрдЯрдирд╛ред рд╡рд░реНрддрдорд╛рди рдЧреИрдЬреЗрдЯ ) ;

// рдкрд╣рд▓рд╛ рдЪрд┐рдк рдЪрдпрдирд┐рдд
рдЕрдЧрд░ ( рдлрд░реНрд╕реНрдЯрдкрд╛рдЗ == рдирд▓ ) {
рдЯреБрдХрдбрд╝рд╛ред рдЪрдпрди рдХрд░реЗрдВ ред рджреГрд╢реНрдпрдорд╛рди = рд╕рддреНрдп ;
FirstPhew = рдЯреБрдХрдбрд╝рд╛;

// рдкрд╣рд▓реА рдЪрд┐рдк рдкрд░ рдлрд┐рд░ рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
} рдФрд░ рдЕрдЧрд░ ( FirstPhew == рдЯреБрдХрдбрд╝рд╛ ) {
рдЯреБрдХрдбрд╝рд╛ред рдЪрдпрди рдХрд░реЗрдВ ред рджреГрд╢реНрдпрдорд╛рди = рдЭреВрдард╛ ;
FirstPibl = null ;


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

// рджреВрд╕рд░реА рдЪрд┐рдк рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
} {
firstPieceред рдЪрдпрди рдХрд░реЗрдВ ред рджреГрд╢реНрдпрдорд╛рди = рдЭреВрдард╛ ;

// рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐, рдХреЙрд▓рдо рдореЗрдВ рдкрдбрд╝реЛрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рдЕрдЧрд░ ( ( рдлрд░реНрд╕реНрдЯрдкрд╛рдЗрдкред рдкрдВрдХреНрддрд┐ == рдЯреБрдХрдбрд╝рд╛ред рдкрдВрдХреНрддрд┐ ) рдФрд░& ( рдЧрдгрд┐рдд ред рдПрдмреНрд╕ ( рдлрд░реНрд╕реНрдЯрдкрд╛рдЗрдЧред рдХреЙрд▓рдкреАрд╕ред рдХреЙрд▓ ) == 1 ) ) {
makeSwap ( рдлрд░реНрд╕реНрдЯрдкрд╛рдЗрдкрд░, рдкреАрд╕ ) ;
FirstPibl = null ;

// рдПрдХ рд╣реА рдХреЙрд▓рдо, рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкрдбрд╝реЛрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
} рдФрд░ рдпрджрд┐ ( ( рдлрд░реНрд╕реНрдЯрдкрд╛рдЗрдЧрд░ред col == рдЯреБрдХрдбрд╝рд╛ред рдХрд░реНрдирд▓ ) && ( рдЧрдгрд┐рдд ред abs ( рдлрд╝рд░реНрд╕реНрдЯрдкреНрдпреВрдкред рдкрдВрдХреНрддрд┐- рдЯреБрдХрдбрд╝рд╛ред рдкрдВрдХреНрддрд┐ ) == 1 ) ) {ред
makeSwap ( рдлрд░реНрд╕реНрдЯрдкрд╛рдЗрдкрд░, рдкреАрд╕ ) ;
FirstPibl = null ;

// рдХреЛрдИ рдкрдбрд╝реЛрд╕ рдирд╣реАрдВ рд╣реИ, рдкрд╣рд▓реА рдЪрд┐рдк рд╕реЗ рдкрд╕рдВрдж рдХреЛ рдлреЗрдВрдХ рджреЗрдВ
} {
FirstPhew = рдЯреБрдХрдбрд╝рд╛;
firstPieceред рдЪрдпрди рдХрд░реЗрдВ ред рджреГрд╢реНрдпрдорд╛рди = рд╕рддреНрдп ;
}
}
}


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

// рджреЛ рдЪрд┐рдкреНрд╕ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд╛ рдПрдиреАрдореЗрд╢рди рд╢реБрд░реВ рдХрд░реЗрдВ
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рдореЗрдХрд╡реЗ ( рдЯреБрдХрдбрд╝рд╛ 1, рдЯреБрдХрдбрд╝рд╛ 2: рдЯреБрдХрдбрд╝рд╛ ) {
рд╕реНрд╡реИрдкрдкрд╛рдЗрдиреНрд╕ ( рдЯреБрдХрдбрд╝рд╛ 1, рдЯреБрдХрдбрд╝рд╛ 2 ) ;

// рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рд╕рдлрд▓ рд░рд╣рд╛
рдЕрдЧрд░ ( рджреЗрдЦреЗрдВрдлреЙрд░рдореИрдЪ ( ) ред рд▓рдВрдмрд╛рдИ == 0 ) {
рд╕реНрд╡реИрдкрдкрд╛рдЗрдиреНрд╕ ( рдЯреБрдХрдбрд╝рд╛ 1, рдЯреБрдХрдбрд╝рд╛ 2 ) ;
} {
isSwapping = true ;
}
}


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



рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЧреНрд░рд┐рдб рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

// рджреЛ рдЪрд┐рдкреНрд╕ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рд╕реНрд╡реИрдкрдкрд╛рдЗрдк ( рдЯреБрдХрдбрд╝рд╛ 1, рдЯреБрдХрдбрд╝рд╛ 2: рдЯреБрдХрдбрд╝рд╛ ) {
// рдкрдВрдХреНрддрд┐ рдФрд░ рдХреЙрд▓ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
var tempCol: uint = piece1 рдХрд░реНрдирд▓ ;
var tempRow: uint = piece1 рдкрдВрдХреНрддрд┐ ;
piece1ред col = piece2 рдХрд░реНрдирд▓ ;
piece1ред рдкрдВрдХреНрддрд┐ = рдЯреБрдХрдбрд╝рд╛ реиред рдкрдВрдХреНрддрд┐ ;
piece2ред col = tempCol;
piece2ред рдкрдВрдХреНрддрд┐ = рдЕрд╕реНрдерд╛рдпреА;

// рдЧреНрд░рд┐рдб рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдмрджрд▓реЗрдВ
рдЧреНрд░рд┐рдб [ рдЯреБрдХрдбрд╝рд╛ резред рдХрд░реНрдирд▓ ] [ рдЯреБрдХрдбрд╝рд╛ резред рдкрдВрдХреНрддрд┐ ] = рдЯреБрдХрдбрд╝рд╛ 1;
рдЧреНрд░рд┐рдб [ рдЯреБрдХрдбрд╝рд╛ реиред рдХрд░реНрдирд▓ ] [ рдЯреБрдХрдбрд╝рд╛ реиред рдкрдВрдХреНрддрд┐ ] = рдЯреБрдХрдбрд╝рд╛ 2;
}


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

рдЪрд┐рдк рдЖрдВрджреЛрд▓рди рдПрдиреАрдореЗрд╢рди
рд╣рдо рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рдПрдиреАрдореЗрд╢рди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЪрд┐рдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рдкрдВрдХреНрддрд┐ рдФрд░ рд╕реНрддрдВрдн рдореЗрдВ рд╣реИ, рдкрдВрдХреНрддрд┐ рдФрд░ рдХрд░реНрдирд▓ рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдФрд░ рд╣рдо рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдХрд╛ рднреА рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд▓реЛ рд╕реНрдерд┐рд░рд╛рдВрдХ, рдСрдлрд╕реЗрдЯ , рдСрдлрд╕реЗрдЯ Y рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЙрд▓рдо 3 рдореЗрдВ рдЪрд┐рдк рдХрд╛ рдорд╛рди x = 3 * рд░рд┐рдХреНрддрд┐ + рдСрдлрд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЕрдЧрд░ рдЪрд┐рдк рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рдЪрд▓реА рдЬрд╛рдП рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдпрджрд┐ рд╣рдо рдЪрд┐рдк рдХреЛ 4 рдХрд╛ рдХреЛрд▓ рдорд╛рди рджреЗрддреЗ рд╣реИрдВ, рддреЛ x = 4 * рд░рд┐рдХреНрддрд┐ + рдСрдлрд╕реЗрдЯ , рдЬреЛ рджрд╛рдИрдВ рдУрд░ 45 рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЪрд┐рдк рдХреЛ рджрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдПрдВ, рдЕрдкрдиреЗ рдЧрдВрддрд╡реНрдп рдХреЗ рдХрд░реАрдмред рдпрджрд┐ рдЖрдк рд╣рд░ рдлреНрд░реЗрдо рдХреЛ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрд▓реНрдж рд╣реА рдЪрд┐рдк рдЕрдкрдиреЗ рдирдП рдЧрдВрддрд╡реНрдп рдкрд░ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧреА рдФрд░ рдЪрд▓рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧреА (рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдХреЙрд▓ рдФрд░ рдПрдХреНрд╕ рдорд╛рди рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдВрдЧреЗ)ред
рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрд┐рд╕реА рднреА рдЪрд┐рдк рдХреЛ рдПрдХ рдирдП рд╕реНрдерд╛рди рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪреЗрддрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдореВрд╡реА рдХреНрд▓рд┐рдк рд╕реНрддрд░ рдкрд░ рдПрдиреАрдореЗрд╢рди рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЯреБрдХрдбрд╝рд╛ рдХреА рдХреЙрд▓ рдпрд╛ рдкрдВрдХреНрддрд┐ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрджрд▓ рджреЗрдВред рдореВрд╡рдореЗрдВрдЯ рдлрдВрдХреНрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рдХреА рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддреЗ рд╣реИрдВред
рдореВрд╡рдореЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рд░ рдлреНрд░реЗрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЗрд╕реЗ рд╢реНрд░реЛрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдХреНрд╖рд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ x рдФрд░ y рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдФрд░ рдкрдВрдХреНрддрд┐ рдорд╛рди рдХреЗ рд▓рд┐рдП рд╕рднреА рдЪрд┐рдкреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред

рдиреЛрдЯред
рдореВрд╡рдкреЙрдЗрдВрдЯ рдлрдВрдХреНрд╢рди рдореЗрдВ , рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдореЗрдВ рд╕реНрдЯреЗрдк 5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдорд╛рди рд╣рдореЗрд╢рд╛ рд░рд┐рдХреНрддрд┐ рдореВрд▓реНрдп рдХрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд░рд┐рдХреНрддрд┐ рд╕рдорд╛рди рдереА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 48 рддрдХ, рд╣рдо 4, 6 рдпрд╛ 8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

// рдЕрдЧрд░ рдХреБрдЫ рдЪрд┐рдк рдЬрдЧрд╣ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ, рддреЛ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдХрд░реАрдм рд▓реЗ рдЬрд╛рдПрдВ
// рдпрд╣ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдпрд╛ рдЪрд┐рдк рдЧрд┐рд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рдореВрд╡рдореЗрдВрдЯреНрд╕ ( рдЗрд╡реЗрдВрдЯ: рдЗрд╡реЗрдВрдЯ ) {
var рдореЗрдбрдореЛрд╡: рдмреВрд▓рд┐рдпрди = рдЧрд▓рдд ;
( var рдкрдВрдХреНрддрд┐: int = 0 ; рдкрдВрдХреНрддрд┐ < 8 ; рдкрдВрдХреНрддрд┐ ++ ) {
( var col: int = 0 ; col < 8 ; col ++ ) рдХреЗ рд▓рд┐рдП {
рдЕрдЧрд░ ( рдЧреНрд░рд┐рдб [ рдХрд░реНрдирд▓ ] [ рдкрдВрдХреНрддрд┐ ] ! = рдЕрд╢рдХреНрдд ) {

// рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВ
рдЕрдЧрд░ ( рдЧреНрд░рд┐рдб [ рдХрд░реНрдирд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред рд╡рд╛рдИ < рдЧреНрд░рд┐рдб [ рдХреЙрд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред рдкрдВрдХреНрддрд┐ * рд░рд┐рдХреНрддрд┐ + рдСрдлрд╕реЗрдЯ ) {
рдЧреНрд░рд┐рдб [ рдХреЙрд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред y + = 5 ;
рдореЗрдбрдо = рд╕рдЪреНрдЪрд╛ ;

// рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВ
} рдФрд░ рдпрджрд┐ ( рдЧреНрд░рд┐рдб [ рдХрд░реНрдирд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред y > рдЧреНрд░рд┐рдб [ рдХреЙрд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред рдкрдВрдХреНрддрд┐ * рд░рд┐рдХреНрддрд┐ + рдСрдлрд╕реЗрдЯ ) {
рдЧреНрд░рд┐рдб [ рдХреЙрд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред y = 5 рд╣реИ ;
рдореЗрдбрдо = рд╕рдЪреНрдЪрд╛ ;
// рджрд╛рдИрдВ рдУрд░ рд╢рд┐рдлреНрдЯ

} рдФрд░ рдпрджрд┐ ( рдЧреНрд░рд┐рдб [ рдХрд░реНрдирд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред x < рдЧреНрд░рд┐рдб [ рдХреЙрд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред рдХреЛрд▓ * рд░рд┐рдХреНрддрд┐ + рдСрдлрд╕реЗрдЯ ) {
рдЧреНрд░рд┐рдб [ рдХреЙрд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред x + = 5 ;
рдореЗрдбрдо = рд╕рдЪреНрдЪрд╛ ;

// рд╢рд┐рдлреНрдЯ рдЫреЛрдбрд╝ рджрд┐рдпрд╛
} рдФрд░ рдЕрдЧрд░ ( рдЧреНрд░рд┐рдб [ рдХрд░реНрдирд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред x > рдЧреНрд░рд┐рдб [ рдХрд░реНрдирд▓ ] [ рдкрдВрдХреНрддрд┐ ] рдХрд░реНрдирд▓ * рд░рд┐рдХреНрддрд┐ + рдСрдлрд╕реЗрдЯ ) {
рдЧреНрд░рд┐рдб [ рдХреЙрд▓ ] [ рдкрдВрдХреНрддрд┐ ] ред x = 5 рд╣реИ ;
рдореЗрдбрдо = рд╕рдЪреНрдЪрд╛ ;
}
}
}
}


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

// рд╕рднреА рдХреНрд░реИрд╢ рдкреВрд░реНрдг рд╣реБрдП
рдЕрдЧрд░ ( isDropping && ! рдореЗрдбрдореЛрд╡ ) {
isDropping = false ;
findAndRemoveMatches ( ) ;

// рд╕рднреА рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреВрд░реЗ рд╣реЛ рдЧрдП рд╣реИрдВ
} рдФрд░ рдЕрдЧрд░ ( isSwapping && ! рдореЗрдбрдореЛрд╡ ) {
isSwapping = false ;
findAndRemoveMatches ( ) ;
}
}


рд░реЗрдЦрд╛ рдЦреЛрдЬ
рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рджреЛ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдп рд╣реИрдВред рдФрд░ рдкрд╣рд▓рд╛ рд╣реИ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЦреЛрдЬред рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдмрд▓реНрдХрд┐ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдЯрд┐рдкреНрдкрдгреА
рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рд╛рдЗрди рдореЗрдВ рдЪрд┐рдкреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рддреАрди рдЪрд┐рдкреНрд╕ рдХрд╛ рдорддрд▓рдм рд╣реИ (3-1) * рдкреНрд░рддреНрдпреЗрдХ рдЪрд┐рдк рдХреЗ рд▓рд┐рдП 50 рдпрд╛ 100 рдЕрдВрдХред рдЪрд╛рд░ рдЪрд┐рдкреНрд╕, (4-1) * 50 рдпрд╛ 150 рдЕрдВрдХ рдкреНрд░рддрд┐ рдЪрд┐рдк, рдХрдо рд╕реЗ рдХрдо 600 рдЕрдВрдХред

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

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

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

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ findAndRemoveMatches ( ) {
// рд▓рд╛рдЗрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдБ
var рдореИрдЪ: Array = lookForMatches ( ) ;
рдХреЗ рд▓рд┐рдП ( var i: int = 0 ; I < рдорд╛рдЪрд┐рд╕ред рд▓рдВрдмрд╛рдИ ; i ++ ) {
var рдЕрдВрдХ: рд╕рдВрдЦреНрдпрд╛ = ( рдорд┐рд▓рд╛рди [ i ] ред рд▓рдВрдмрд╛рдИ - 1 ) * 50 ;
рдХреЗ рд▓рд┐рдП ( var j: int = 0 ; j < рдореИрдЪреЛрдВ [ i ] ред рд▓рдВрдмрд╛рдИ ; j ++ ) {
рдЕрдЧрд░ ( gameSpriteред рд╣реЛрддрд╛ рд╣реИ ред ( рдореИрдЪ [ i ] [ j ] ) ) {
var pb = new PointBurst ( рдпрд╣ , numPoints, рдореИрдЪреЛрдВ [ i ] [ j ] x ; рдорд╛рдЪрд┐рд╕ [ i ] [ j ] y ) ;
addScore ( numPoints ) ;
gameSpriteред removeChild ( рдореИрдЪ [ i ] [ j ] ) ;
рдЧреНрд░рд┐рдб [ рдореИрдЪреЛрдВ [ i ] [ рдЬреЗ ] ред col ] [ рдореИрдЪреЛрдВ [ i ] [ j ] ред рдкрдВрдХреНрддрд┐ ] = рдЕрд╢рдХреНрдд ;
рдкреНрд░рднрд╛рд╡рд┐рддрдЕрдмреЛрд╡ ( рдореИрдЪ [ i ] [ рдЬреЗ ] ) ;
}
}
}


FindAndRemoveMatches рдлрд╝рдВрдХреНрд╢рди рджреЛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, addNewPothers рдХреЙрд▓рдо рдореЗрдВ рдЧреБрдо рдЪрд┐рдкреНрд╕ рдХреЛ рднрд░рддрд╛ рд╣реИред рддрдм рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реБрдХрдлреЛрд░рдкреЙрд▓реАрдмрд▓реНрд╕ рдХреЛ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдЕрднреА рднреА рдореИрджрд╛рди рдкрд░ рд╣реИред рдЗрд╕рдХреА рдЬрд░реВрд░рдд рддрднреА рдкрдбрд╝рддреА рд╣реИ рдЬрдм рдирдИ рд▓рд╛рдЗрдиреЗрдВ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИрдВред рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдирдП рдЪрд┐рдкреНрд╕ рдЧрд┐рд░рдиреЗ рдХреЗ рдмрд╛рдж findAndRemoveMatches рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреЛрдИ рд░реЗрдЦрд╛рдПрдВ рдирд╣реАрдВ рдорд┐рд▓реА рдереАрдВред

// рдлрд╝реАрд▓реНрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдирдИ рдЪрд┐рдк рдЬреЛрдбрд╝реЗрдВ
addNewPothers ( ) ;

// рдХреЛрдИ рд░реЗрдЦрд╛ рдирд╣реАрдВ рдорд┐рд▓реА, рдПрдХ рдЪрд╛рд▓ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рдЕрдЧрд░ ( рдореИрдЪред рд▓рдВрдмрд╛рдИ == 0 ) {
рдЕрдЧрд░ (рджреЗрдЦреЛ ! )
рдПрдВрдбрдЧреЗрдо ( ) ;
}
}
}


LookForMatches рдлрд╝рдВрдХреНрд╢рди
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкрд╛рдИ рдЧрдИ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдирд╛ рд╣реИред рд╣рдо 2 рд╕реЗ рдЕрдзрд┐рдХ рдЪрд┐рдкреНрд╕ рдХреА рд▓рд╛рдЗрдиреЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реВрдк рдореЗрдВ рдПрдХ рд▓реВрдк рдХрд░реЗрдВ, рдкрд╣рд▓реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рдлрд┐рд░ рдХреЙрд▓рдо рдореЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкрд╣рд▓реЗ 6 рдЪрд┐рдкреНрд╕ рдХреЗ рд╕реЗрдЧрдореЗрдВрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред 7 рдФрд░ 8 рд╕реЗ, рдЪреЗрдХрд┐рдВрдЧ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ 2 рд╕реЗ рдЕрдзрд┐рдХ рдЪрд┐рдкреНрд╕ рдХреА рд▓рд╛рдЗрдиреЗрдВ рдирд╣реАрдВ рдмрдирд╛ рдкрд╛рдПрдВрдЧреЗред
GetMatchHoriz рдФрд░ getMatchVert рдлрд╝рдВрдХреНрд╢рди рдЙрдирдХреЗ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рддрддреНрд╡ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рддрддреНрд╡ [3] [рем] рдЯрд╛рдЗрдк рек рдХреА рдЪрд┐рдк рд╣реИ, [рек] [рем] рднреА рдЯрд╛рдЗрдк рек рдХреА рдЪрд┐рдк рд╣реИ, рдФрд░ [рел] [рем] рдЯрд╛рдЗрдк рез рдХреА рдЪрд┐рдк рд╣реИ, рддреЛ рдЧреЗрдЯрдореИрдЪреЛрд░реАрдЬрд╝ (рей,рем) рдХреЙрд▓ реи рдкрд╛рдПрдЧреА , рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдЗрди рдорд┐рд▓ рдЧрдИ рд╣реИ 2 рдЪрд┐рдкреНрд╕ рдХреАред
рдпрджрд┐ рд░реЗрдЦрд╛ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдХреБрдЫ рдЫреЛрд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧреА рдФрд░ рдХреБрдЫ рдХрджрдо рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ [2] [1] , [2] [2] , [2] [3] рдФрд░ [2] [4] рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ, рд╣рдо рд╕рд┐рд░реНрдл [2] [1] рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ , рдкрд░рд┐рдгрд╛рдо 4 рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред [реи] [реи] , [реи] [рей] , [реи] [рек] рдХреЛ рдЫреЛрдбрд╝ рдХрд░ [реи] [рел] рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ ред
GetMatchHorizon рдпрд╛ getMatchVert рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдИ рдЧрдИ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП , рд╡реЗ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЯреЛрдХрди рдпреБрдХреНрдд рдПрдХ рд╕рд░рдгреА рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред рд╣рдо рд▓реБрдХрдлреЙрд░рдореИрдЪ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдорд┐рд▓рд╛рди рд╕рд░рдгреА рдореЗрдВ рдЗрди рдкрд╛рдП рдЧрдП рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

// рд╕рднреА рдкрд╛рдпрд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реМрдЯреЗрдВ
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рджреЗрдЦреЛрдлреНрд░реЗрдо ( ) : рдРрд░реЗ {
var matchList: Array = new Array ( ) ;

// рдХреНрд╖реИрддрд┐рдЬ рд░реЗрдЦрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ
( var рдкрдВрдХреНрддрд┐: int = 0 ; рдкрдВрдХреНрддрд┐ < 8 ; рдкрдВрдХреНрддрд┐ ++ ) {
( var col: int = 0 ; col < 6 ; col ++ ) рдХреЗ рд▓рд┐рдП {
var рдореИрдЪ: Array = getMatchHoriz ( col, row ) ;
рдЕрдЧрд░ ( рдореИрдЪред рд▓рдВрдмрд╛рдИ > 2 ) {
matchListред рдзрдХреНрдХрд╛ ( рдореИрдЪ ) ;
рдХреЛрд▓ + = рдореИрдЪред рд▓рдВрдмрд╛рдИ - 1 ;
}
}
}

// рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ
for ( col = 0 ; col < 8 ; col ++ ) {
рдХреЗ рд▓рд┐рдП ( рдкрдВрдХреНрддрд┐ = 0 ; рдкрдВрдХреНрддрд┐ < 6 ; рдкрдВрдХреНрддрд┐ ++ ) {
рдореИрдЪ = getMatchVert ( рдХреЙрд▓, рдкрдВрдХреНрддрд┐ ) ;
рдЕрдЧрд░ ( рдореИрдЪред рд▓рдВрдмрд╛рдИ > 2 ) {
matchListред рдзрдХреНрдХрд╛ ( рдореИрдЪ ) ;
рдкрдВрдХреНрддрд┐ + = рдореИрдЪред рд▓рдВрдмрд╛рдИ - 1 ;
}

}
}
рдорд╛рдЪрд┐рд╕ рдХреА рддреАрд▓реА;
}

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

//
public function getMatchHoriz ( col,row ) : Array {
var match: Array = new Array ( grid [ col ] [ row ] ) ;
for ( var i: int = 1 ;col+i < 8 ;i++ ) {
if ( grid [ col ] [ row ] . рдЯрд╛рдЗрдк == рдЧреНрд░рд┐рдб [ рдХреЙрд▓ + рдЖрдИ ] [ рдкрдВрдХреНрддрд┐ ] ред рдкреНрд░рдХрд╛рд░ ) {
рдореИрдЪред рдзрдХреНрдХрд╛ ( рдЧреНрд░рд┐рдб [ рдХреЙрд▓ + рдЖрдИ ] [ рдкрдВрдХреНрддрд┐ ] ) ;
} {
рдореИрдЪ рд╡рд╛рдкрд╕реА ;
}
}
рдореИрдЪ рд╡рд╛рдкрд╕реА ;
}


рд╕рдорд╛рд░реЛрд╣ getMatchVert рд▓рдЧрднрдЧ рд╕рдорд╛рди getMatchHorizon , рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЦреЛрдЬ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреА рдирд╣реАрдВ рд╣реИред

//
public function getMatchVert ( bol,row ) : Array {
var match: Array = new Array ( grid [ col ] [ row ] ) ;
for ( var i: int = 1 ;row+i < 8 ;i++ ) {
if ( grid [ col ] [ row ] . type == grid [ col ] [ row+i ] . type ) {
match. push ( grid [ col ] [ row+i ] ) ;
} {
return match;
}
}
return match;
}


рд╕рдорд╛рд░реЛрд╣ affectAbove
рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ affectAbove ред рд╣рдо рдЗрд╕рдореЗрдВ рдПрдХ рдЪрд┐рдк рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХреЗ рдКрдкрд░ рдХреЗ рд╕рднреА рдЪрд┐рдкреНрд╕ рдмрддрд╛рдПрдВ рдХрд┐ рдпрд╣ рдПрдХ рдХрджрдо рдиреАрдЪреЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реВрдк рдореЗрдВ, рд╣рдо рд╡рд░реНрддрдорд╛рди рдХреЗ рдКрдкрд░ рдХреЙрд▓рдо рдореЗрдВ рдЪрд┐рдкреНрд╕ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╡рд░реНрддрдорд╛рди [5] [6] , рддреЛ [5] [5] , [5] [4] , [5] [3] , [5] [2] , [5] [1] , [ рел] [реж] рдЙрд╕ рдХреНрд░рдо рдореЗрдВред рдЗрди рдЪрд┐рдкреНрд╕ рдХрд╛ рдкрдВрдХреНрддрд┐ рдореВрд▓реНрдп 1 рд╕реЗ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирдП рдбреЗрдЯрд╛ рдЧреНрд░рд┐рдб рдореЗрдВ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдореВрд╡рдореЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдПрдиреАрдореЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рд╣рдо рд╕рд┐рд░реНрдл рдЪрд┐рдк рдХреЛ рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рди рдмрддрд╛рддреЗ рд╣реИрдВред

//
public function affectAbove ( piece:Piece ) {
for ( var row: int =piece. row - 1 ;row > = 0 ;row-- ) {
if ( grid [ piece. col ] [ row ] ! = null ) {
grid [ piece. col ] [ row ] . row ++;
grid [ piece. col ] [ row+ 1 ] = grid [ piece. col ] [ row ] ;
grid [ piece. col ] [ row ] = null ;
}
}
}


AddNewPhew рдлрд╝рдВрдХреНрд╢рди
рдЕрдЧрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, AddNewPothers ред рдпрд╣ рдЧреНрд░рд┐рдб рдореЗрдВ рд╕рднреА рдЕрд╢рдХреНрдд рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирдП рдЪрд┐рдкреНрд╕ рд╕реЗ рднрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЙрд▓ рдФрд░ рдкрдВрдХреНрддрд┐ рдорд╛рдиреЛрдВ рдХреЛ рдЙрдирдХрд╛ рдЕрдВрддрд┐рдо рдореВрд▓реНрдп рдорд┐рд▓рддрд╛ рд╣реИ, рд╡рд╛рдИ рдХреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдорд╛рди рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪрд┐рдкреНрд╕ рдиреАрдЪреЗ рдЧрд┐рд░ рдЬрд╛рддреЗ рд╣реИрдВред рдЪрд░ .Dropping рд╕рдЪ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓реА рдЪрд┐рдк рдХреЗ рдПрдиреАрдореЗрд╢рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ ред

// , , .
public function addNewPieces ( ) {
for ( var col: int = 0 ;col < 8 ;col++ ) {
var missingPieces: int = 0 ;
for ( var row: int = 7 ;row > = 0 ;row-- ) {
if ( grid [ col ] [ row ] == null ) {
var newPiece:Piece = addPiece ( col,row ) ;
newPiece. y = offsetY-spacing-spacing * missingPieces++;
isDropping = true ;
}
}
}
}


рд╕рдВрднрд╛рд╡рд┐рдд рдЪрд╛рд▓реЗрдВ
рдЦреЛрдЬрдирд╛ рд╕рдВрднрд╡ рд░реЗрдЦрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред
рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдмреЛрд░реНрдб рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдирд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЪрд┐рдк рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдирд┐рдордп рдмрдирд╛рдирд╛ рд╣реИред [0] [0] рдХреЛ [1] [0] , рддреЛ [1] [0] рдХреЛ [2] [0] , рдЖрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдореЗрдВ, рд╣рдо рд▓рд╛рдЗрдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рд╣рдо рдкрд╣рд▓реЗ рдПрдХ рдХреЛ рдЦреЛрдЬрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЦреЛрдЬ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реА рд╡рд╛рдкрд╕ рд▓реМрдЯрддреЗ рд╣реИрдВ ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЬрд╛рдирд╡рд░-рдмрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╣реЛрдЧрд╛, рдЦрд╛рд╕рдХрд░ рдкреБрд░рд╛рдиреА рдорд╢реАрдиреЛрдВ рдкрд░ред рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рддрд░реАрдХрд╛ рд╣реИред
рдПрдХ рд░реЗрдЦрд╛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдорддреМрд░ рдкрд░ рдпреЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рджреЛ рдЪрд┐рдкреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рддреАрд╕рд░реА рдЪрд┐рдк рдкреНрд░рдХрд╛рд░ рдореЗрдВ рднрд┐рдиреНрди рд╣реИ, рд▓реЗрдХрд┐рди рддреАрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдирд┐: рд╢реБрд▓реНрдХ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рджреЛ рдЪрд┐рдкреНрд╕ рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдЪрд┐рдк рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдм рдПрдХ рд╡рд┐рдирд┐рдордп 2 рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдВрдХрдбрд╝рд╛ рд╣рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рджреЛ рдорд╛рдорд▓реЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ 6 рдкреИрдЯрд░реНрди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВред



рдЕрдм рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдХреЗрд╡рд▓ рдХреБрдЫ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдо рдЯреЙрдк-рдбрд╛рдЙрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реБрдХрдлреЙрд░рдореИрдЪ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рдФрд░ рд╣рдо рдмрд╛рдж рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЦреЛрдЬ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВрдЧреЗред
рддрд╕реНрд╡реАрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рд▓рд╛рдЗрди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреЛ рдХрд╛рд▓реЗ рдЪрд┐рдкреНрд╕ рдФрд░ 3 рдЪрд┐рдкреНрд╕ рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рд╕рдВрднрд╡рддрдГ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред [0] [0] рдХреЗ рд░реВрдк рдореЗрдВ рджреВрд░ рдмрд╛рдИрдВ рдХрд╛рд▓реА рдЪрд┐рдк рдХреЛ рдирд┐рд░реВрдкрд┐рдд рдХрд░реЗрдВред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЪрд┐рдк [1] [0] рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рд╣реИред рдпрд╣ рдЙрд╕реА рдЪрд┐рдк рдХреЛ рд╕реНрдерд┐рддрд┐ [-1] [- 1] , [-2] [0] рдпрд╛ [-1] [1] рдкрд░ рдмрдирд╛ рд╣реБрдЖ рд╣реИ ред рдФрд░ рджреВрд╕рд░реА рдУрд░ [реи] [- рез] , [реи] [рез] рдФрд░ [рей] [реж] ред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ 6 рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЪрд┐рдк рдЯрд╛рдЗрдк рдореЗрдВ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЗрд╕реЗ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рджреЛ рдЪрд┐рдкреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ рддреАрд╕рд░реЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЪрд┐рдкреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХреЛ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред
рдореИрдЪрдкрд╛рд░реНрдЯрди ( рдХреЙрд▓, рдкрдВрдХреНрддрд┐, [[1, 0]] , [[-2, 0], [- 1, -1], [- 1, 1], [2, -1], [2, 1], [3, 0]] )
рд╣рдореЗрдВ рдЪрд┐рддреНрд░ 2 рдореЗрдВ рдЕрдиреНрдп рдирдореВрдирд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 8.9ред рд╡реЗ рджреЛрдиреЛрдВ рд▓рдВрдмрд╡рдд рд╣реИрдВред LookForPossibles
рдлрд╝рдВрдХреНрд╢рди рд╕рднреА рдмреЛрд░реНрдб рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрддрд╛ рд╣реИред

//
public function lookForPossibles ( ) {
for ( var col: int = 0 ;col < 8 ;col++ ) {
for ( var row: int = 0 ;row < 8 ;row++ ) {

// ,
if ( matchPattern ( col, row, [ [ 1 , 0 ] ] , [ [ - 2 , 0 ] , [ - 1 ,- 1 ] , [ - 1 , 1 ] , [ 2 ,- 1 ] , [ 2 , 1 ] , [ 3 , 0 ] ] ) ) {
рд╕рдЪ рд▓реМрдЯрдирд╛ ;
}

// ,
if ( matchPattern ( col, row, [ [ 2 , 0 ] ] , [ [ 1 ,- 1 ] , [ 1 , 1 ] ] ) {
рд╕рдЪ рд▓реМрдЯрдирд╛ ;
}

// ,
if ( matchPattern ( col, row, [ [ 0 , 1 ] ] , [ [ 0 ,- 2 ] , [ - 1 ,- 1 ] , [ 1 ,- 1 ] , [ - 1 , 2 ] , [ 1 , 2 ] , [ 0 , 3 ] ] ) ) {
рд╕рдЪ рд▓реМрдЯрдирд╛ ;
}

// ,
if ( matchPattern ( col, row, [ [ 0 , 2 ] ] , [ [ - 1 , 1 ] , [ 1 , 1 ] ] ) ) {
рд╕рдЪ рд▓реМрдЯрдирд╛ ;
}
}
}

//
рдЭреВрдареЗ рд▓реМрдЯрдирд╛ ;
}


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

public function matchPattern ( col,row:uint, mustHave, needOne: Array ) {
var thisType: int = grid [ col ] [ row ] . type ;
// ,

for ( var i: int = 0 ;i < mustHave. length ;i++ ) {
if ( ! matchType ( col+mustHave [ i ] [ 0 ] , row+mustHave [ i ] [ 1 ] , thisType ) ) {
рдЭреВрдареЗ рд▓реМрдЯрдирд╛ ;
}
}

// ,
for ( i= 0 ;i < needOne. length ;i++ ) {
if ( matchType ( col+needOne [ i ] [ 0 ] , row+needOne [ i ] [ 1 ] , thisType ) ) {
рд╕рдЪ рд▓реМрдЯрдирд╛ ;
}
}
рдЭреВрдареЗ рд▓реМрдЯрдирд╛ ;
}


рдореИрдЪрдкреИрдЯрд░реНрди рдореЗрдВ рд╕рднреА рддреБрд▓рдирд╛ рдореИрдЪрдЯреЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ ред рдЪрд▓реЛ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рд╣рдо рдЕрдХреНрд╕рд░ рдЙрди рдЪрд┐рдкреНрд╕ рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВрдЧреЗ рдЬреЛ рдЧреНрд░рд┐рдб рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ рд╣рдо рдХреЛ рджреЗ matchPattern col рдФрд░ рдкрдВрдХреНрддрд┐ [5] [0] , рдЬрд╛рдВрдЪ рдЪрд┐рдкреНрд╕ -1 рдХрд╛ рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ 4 -1 рдХреЗ рд▓рд┐рдП, рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЗ рдиреЗрдЯ рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВред
рдлрд╝рдВрдХреНрд╢рди рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЪрд┐рдк рдлрд╝реАрд▓реНрдб рдкрд░ рд╣реИ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдЧрд╛ред

public function matchType ( col,row, type : int ) {
// ,
if ( ( col < 0 ) || ( col > 7 ) || ( row < 0 ) || ( row > 7 ) ) return false ;
return ( grid [ col ] [ row ] . type== рдкреНрд░рдХрд╛рд░ ) ;
}


рд╕реНрдХреЛрд░ рдФрд░ рдЦреЗрд▓ рдХрд╛ рдЕрдВрдд findAndRemoveMatches
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣рдордиреЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдЕрдВрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП addScore рдХреЛ рдмреБрд▓рд╛рдпрд╛ ред рдпрд╣ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ addScore ( numPoints: int ) {
gameScore + = numPoints;
MovieClip ( рд░реВрдЯ ) ред рд╕реНрдХреЛрд░рдбрд┐рд╕рдкреНрд▓реЗ ред рдкрд╛рда = рд╕реНрдЯреНрд░рд┐рдВрдЧ ( рдЧреЗрдордХреЛрд░ ) ;
}


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

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдПрдВрдбрдЧреЗрдо ( ) {
// рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб
рд╕реЗрдЯрд┐рдлрд╝реНрдб рдореЗрдВ рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВрдЗрдВрдбреЗрдХреНрд╕ ( рдЧреЗрдорд╕рдкреНрд░рд╛рдЗрдЯ , 0 ) ;
// рдЧреЗрдо рдХреЗ рдЕрдВрддрд┐рдо рд╕реНрдХреНрд░реАрди рдкрд░ рдЬрд╛рдПрдВ
gotoAndStop ( "рдЧреЗрдордУрд╡рд░" ) ;
}


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

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рдХреНрд▓реАрдирдЕрдк ( ) {
рдЧреНрд░рд┐рдб = рдЕрд╢рдХреНрдд ;
removeChild ( gameSprite ) ;
gameSprite = null ;
removeEventListener ( рдШрдЯрдирд╛ред ENTER_FRAME , MovePgg ) ;
}

рд╕рдордпрд░реЗрдЦрд╛ рдкрд░, рдХреНрд▓реАрдирдЕрдк рдлрд╝рдВрдХреНрд╢рди playAgain рдмрдЯрди рдХреЛ рдмрд╛рдВрдзрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдпрд╛ рдЧреЗрдо рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

рдЦреЗрд▓ рд╕рдВрд╢реЛрдзрди
рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрдгрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЧреЗрдо рдореЗрдВ рдХрд┐рддрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд┐рдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдЪрд┐рд╕ 3 рдЦреЗрд▓реЛрдВ рдореЗрдВ рдЫрд╣ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрддрд╛ рд╣реИред рд╕рд╛рдд рддреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдЕрд╕рдореНрдмрджреНрдз рд╕рдВрдпреЛрдЬрди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЦреИрд░, рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдорд╛рдЪрд┐рд╕ 3 рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧреЗрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЗрдВрдЬрди рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдЦреЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЗрд░рдгрд╛ рджреЗрдЧрд╛ред

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

рдпреБрдкреАрдбреАред рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЬреЛрдбрд╝ред
рдЖрдк рдЦреЗрд▓ рдХреЛ рдФрд░ рдХреИрд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЦреИрд░, рдкрд╣рд▓реЗ рд╕рдВрдХреЗрддред рд╕рднреА рдиреЗ рд╢рд╛рдпрдж рдРрд╕реЗ рдореИрдХреЗрдирд┐рдХ рдкрд░ рдЧреЗрдо рдореЗрдВ рд╕реБрд░рд╛рдЧ рджреЗрдЦрд╛ред рдЬрдм рдХреЛрдИ рдЦрд┐рд▓рд╛рдбрд╝реА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рджреЛ рдЪрд┐рдкреНрд╕ рдкрд▓рдХ рдЭрдкрдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рд╡рд┐рдирд┐рдордп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рд▓реБрдХрдлреЙрд░ рдкреЙрд╕рд┐рдмрд▓ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреИрд╕реЗ, рд╣реЛрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣реЗрдЧрд╛ред
рджреВрд╕рд░рд╛, рдмреЛрдирд╕ рдЪрд┐рдкреНрд╕ред рдЖрдк рд╣рдореЗрд╢рд╛ рд╣рдорд╛рд░реЗ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреЛрдирд╕ рдХреА рдПрдХ рдФрд░ рдкрд░рдд рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╕реЗрд▓реЗрдХреНрдЯ рдХрд░реЗрдВ ред рдФрд░ рдмреЛрдирд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЪрд┐рдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдФрд░ рдлрд┐рд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╕ рдЪрд┐рдк рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдПрдХ рдХреНрд▓рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЕрдм рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмреНрд▓реЙрдЧ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╕реБрдЭрд╛рдП рдЧрдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБред рдХрд┐рддрд╛рдм рдореЗрдВ рдХрд╣реАрдВ рднреА рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд▓ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
1. рд╕реЗрдЯрдЕрдкрдЧреНрд░рд┐рдб рдлрдВрдХреНрд╢рди рдореЗрдВ , рд╣рдо рдЧреЗрдо рдХреЗ рд╢реБрд░реБрдЖрддреА рдлреАрд▓реНрдб рдХреЛ рд▓реВрдк рдореЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВред рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЪрдХреНрд░ рдореЗрдВ рд╣рдо рдЪрд┐рдкреНрд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЦреЗрд▓рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдирд╣реАрдВред
2. AddPhew рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ , рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЪрд┐рдк рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реНрд░реЛрддрд╛ ( addEventListener ) рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рдЗрд╕реЗ (рдЪрд┐рдкреНрд╕) рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рди рдирд┐рдХрд╛рд▓реЗрдВ ( RemoveEventListener )ред
рд╣рдореЗрдВ рдпрд╣рд╛рдВ рд╕реЗ рдХреНрдпрд╛ рдирд┐рдХрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЗрд╕ рддрд░рд╣ рдХреА рдХрдорд┐рдпрд╛рдВ рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдВрдЧреАред рд╣рдо рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
1. рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдПрдХ рдЦреЗрд▓рдиреЗ рдпреЛрдЧреНрдп рдХреНрд╖реЗрддреНрд░ рд╣реЛрдиреЗ рдкрд░ рдЪрд┐рдкреНрд╕ рдЬреЛрдбрд╝реЗрдВред
2. рдзреНрд╡рдЬ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг: object.addEventListener (Event.CLICK, handleClick false, 0, true) ;
рдЪрд┐рдкреНрд╕ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп, рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ ред

рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

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


All Articles