Flappy рдмрд░реНрдб 1KB рддрдХ

30 рд▓реЛрдЕрд░рдХреЗрд╕ рдЬреЗрдПрд╕ рдХрд╛ рд╕рдкреНрддрд╛рд╣ рд▓рдВрдмрд╛ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрджреЛрдВ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реЛрдХрд░ рд╣рдо рдлреЗрдЬрд░ (рднрд╛рдЧ I) рдкрд░ рдлреНрд▓реИрдкреА рдмрд░реНрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдорд┐рдВрдХреЛрд╡рд╕реНрдХреА рдиреЗ рдлреНрд▓реИрдкреА рдмрд░реНрдб рдкрд░ рдЦреЗрд▓рд╛ рд╣реИ , рдореИрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛, рд▓реЗрдХрд┐рди рдЦреЗрд▓ рдХреЗ рдПрдПрд╕рд╕реАрдЖрдИрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг "рдлреНрд▓реИрдкреА рдмрд░реНрдб" рдХреЛ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдлрд┐рдЯ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ 1024 рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВред



рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЖрдпрд╛ (рдФрд░ рдЦреЗрд▓рддреЗ рд╣реИрдВ), рдФрд░ рдпрд╣рд╛рдБ рдЕрд╕рдореНрдкреАрдбрд┐рдд рд╕реНрд░реЛрдд рджреЗрдЦреЗрдВред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реВрдВред



рдЦреЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ



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



рдореИрджрд╛рди



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

 - +++++ ---- +++++ ----- +++++ -----
  +++++ +++++++++++     
  +++++ +++++++++++     
  +++++                        
                              
  0                            
           ++++++ +++++     
  +++++ +++++++++++     
  +++++ +++++++++++     
 - ++++ ---- +++++ ----- +++++ -----
 123


рд╢реВрдиреНрдп - рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рд╕реНрдерд┐рддрд┐ (рдореИрдВрдиреЗ рдмрд╛рдИрдВ рдУрд░ рджреВрд╕рд░рд╛ рдХреЙрд▓рдо рдЪреБрдирд╛), рдирд┐рдЪрд▓реЗ рдмрд╛рдПрдБ рдореЗрдВ 123 рдмрд┐рдВрджреБ рд╣реИрдВред



рдлрд╝реАрд▓реНрдб рдПрдиреАрдореЗрд╢рди



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

011111000011111000001111100000

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

 = 011111000011111000001111100000;  =  << 1;  =  & 2^30; //  = 111110000111110000011111000000
      
      





рдФрд░ рджреВрд╕рд░рд╛ рдХрд╛рд░реНрдп рдмрд╛рдзрд╛рдУрдВ рдХреА рд╕рдорд╛рди рдЪреМрдбрд╝рд╛рдИ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИред рдЪрд╛рд░ рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рдорд▓реЗ (рдкрд╣рд▓реЗ рдЭреВрда рд╕реЗ рдкрд╣рд▓реЗ) рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:

 ????010 - true -> 000011 ???0110 - true -> 000111 ??01110 - true -> 001111 ?011110 - true -> 011111 0111110 - false
      
      





рддрд░реНрдХ рддреБрдЪреНрдЫ рд╣реИ: рдпрджрд┐ рджреВрд╕рд░рд╛ рдмрд┐рдЯ = 1 рд╣реИ, рддреЛ рд╕рдЪ рд╣реИ рдЕрдЧрд░ рдмрд╛рдзрд╛ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдмрд┐рдЯ рдХреЗ рдмрд╛рдж рдЕрдЧрд▓реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ = 0 рд╣реИред

рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╢рд┐рдлреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрд▓:

  <<= 1;  &= 2^30; if ( & 2) { for ( = 2;  <= _; ++) { if (!( & 1 << )) {  |= 1; break; } } }
      
      







рд╕реНрдХреЛрд░рд┐рдВрдЧ



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

  += (__ & 1 << 29) && !(__ & 1 << 28) ? 1 : 0;
      
      







рдирдИ рдмрд╛рдзрд╛рдПрдБ



рдпрд╣ рдереЛрдбрд╝рд╛ рдкреЗрдЪреАрджрд╛ рдорд╛рдорд▓рд╛ рд╣реИред рдореИрдВрдиреЗ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:



рдЗрд╕рдХреА рдХрд▓реНрдкрдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

 000011111 -> 0% (0 * 12.5) 0 000111110 -> 0% (0 * 12.5) 1 001111100 -> 12.5% (1 * 12.5) 2 011111000 -> 25.0% (2 * 12.5) 3 111110000 -> 37.5% (3 * 12.5) .. 111100000 -> 50.0% (4 * 12.5) 111000000 -> 62.5% (5 * 12.5) 110000000 -> 75.0% (6 * 12.5) 100000000 -> 87.5% (7 * 12.5) 000000000 -> 100.0% (8 * 12.5)
      
      





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

рдмрд┐рдВрджреБ рдЫреЛрдЯрд╛ рд╣реИ: рдореБрдЦреМрдЯрд╛ рдЗрдХрд╛рдИ рдХреЛ рддрдм рддрдХ рдмрд╛рдИрдВ рдУрд░ рдШреБрдорд╛рдПрдВ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рджреВрд╕рд░реА рдЗрдХрд╛рдИ рд╕реЗ рди рдорд┐рд▓реЗрдВред рдЗрд╕ рд╕рдордп, рд╡рд░реНрддрдорд╛рди рдЕрд╡рдзрд┐ рдФрд░ рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рдХреЛ рдЬрд╛рдирдХрд░, рд╣рдо рдПрдХ рдирдИ рдмрд╛рдзрд╛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

     0   { if (__ & 1 << ) { if ( > 1 && ( - 2) * 125 +  > (124..999)) { //   } break; } }
      
      





рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ 10 рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рддрд░рд╣ рдЧреИрд░-рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдиреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдпрд╛ред 100% рдХреЛ рдЫреЛрдбрд╝рдХрд░: рдПрдХ рд╣рдЬрд╛рд░ (100% * 10) рд╕реЗ рдореИрдВрдиреЗ рдпреВрдирд┐рдЯ рд▓рд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпреВрдирд┐рдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреВрд░реА рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдЗрдЯ рд╣реИ! рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдмрдЪрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

 //  -   ,   ,     = (   > 2 ?  - 1 : 2   < 5 ?  + 1 : 5 );    0   {  |= 1; }     + 3   {  |= 1; }
      
      







рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛



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

  = '';    ( ) {    ( ) {  +=  == 28 &&  == _ ? "0" : (  & 1 <<  ? "+" : ( ! ||  == _ - 1 ? "-" : " " ) ); }  += "\n"; } _;
      
      





рдЕрд▓рдЧ рд╕реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рдбреНрд░рд╛ рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рдореИрджрд╛рди рдХреА рдКрдкрд░реА рдФрд░ рдирд┐рдЪрд▓реА рд╕реАрдорд╛ред



рдХреЛрд░реНрд╕



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

 if (  ) {  ,   = 3; } //  if ( > 1) { --; --_ || ; //  } else if () { --; //  } else { _ < 9 ? _++ : ; }
      
      





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

рдЕрд▓рдЧ рд╕реЗ, рдПрдХ рдмрд╛рдзрд╛ рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

 if (_ & 1 << 28) { ; }
      
      







рд╣рд┐рдЯ



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

рд╕рдВрдкреАрдбрд╝рди рд╕реЗ рдкрд╣рд▓реЗ рдкрд░рд┐рдгрд╛рдо
 <script> (function(){ var run = 0, imp = 0; function up(){ run = 1; var pos = 2, rows = [1, 1, 1, 1, 0, 0, 0, 1, 1, 1], rowsLen = 10, fieldWidth = 30, fieldMask = Math.pow(2, fieldWidth) - 1, profit = 0, hTop = 4, row, col, timer = setInterval(function(){ /** * Move user */ if (imp > 1) { imp--; // up --pos || _stop(); } else if (imp) { imp--; } else { // down pos < 9 ? pos++ : _stop(); } /** * Move field * * 0111110 - false * ?011110 - true -> 011111 * ??01110 - true -> 001111 * ???0110 - true -> 000111 * ????010 - true -> 000011 */ for (row = rowsLen; row--;) { rows[row] <<= 1; rows[row] &= fieldMask; if (rows[row] & 2) { for (w = 2; w <= 5; w++) { if (!(rows[row] & 1 << w)) { rows[row] |= 1; break; } } } } /** * Add new objects * * * 000011111 -> 0% (0 * 12.5) 0 * 000111110 -> 0% (0 * 12.5) 1 * 001111100 -> 12.5% (1 * 12.5) 2 * 011111000 -> 25.0% (2 * 12.5) 3 * 111110000 -> 37.5% (3 * 12.5) .. * 111100000 -> 50.0% (4 * 12.5) * 111000000 -> 62.5% (5 * 12.5) * 110000000 -> 75.0% (6 * 12.5) * 100000000 -> 87.5% (7 * 12.5) * 000000000 -> 100.0% (8 * 12.5) */ for (var tryNum = 0; true; tryNum++) { if (rows[0] & 1 << tryNum) { if (tryNum > 1 && (tryNum - 2) * 125 + profit > _rnd(124, 999)) { hTop = _rnd(hTop > 2 ? hTop - 1 : 2, hTop < 5 ? hTop + 1 : 5); // 2..5, prev +/- 1 for (h = 0; h < hTop; h++) { rows[h] |= 1; } for (h = hTop + 3; h < rowsLen; h++) { rows[h] |= 1; } } break; } } /** * Render */ var text = ''; for (row = 0; row < rowsLen; row++) { for (col = 29; col >= 0; col--) { text += col == 28 && row == pos ? "0" : ( rows[row] & 1 << col ? "+" : ( !row || row == rowsLen - 1 ? "-" : " " ) ); } text += "\n"; } profit += (rows[0] & 1 << 29) && !(rows[0] & 1 << 28) ? 1 : 0; text += "\n"+profit; pre.innerHTML = text; if (rows[pos] & 1 << 28) { _stop(); } }, 250); var _rnd = function(min, max){ return Math.floor(Math.random() * (max - min + 1)) + min; } var _stop = function(){ clearInterval(timer); run && alert(':('); run = 0; } } onkeyup = function(e){ e.which == 38 && (run ? imp = 3 : up()); }; })() </script> <body onload=""><pre id="pre">press up!
      
      







рдХрд┐рд╕реА рднреА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЗрдПрд╕ рдЪрд▓рд╛рдПрдВ рдПрдХ UglifyJS рдФрд░ рдлрд┐рд░ рдмрд╕ рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ:

 <body onload='..'
      
      





рдХреБрд▓: 785 рдмрд╛рдЗрдЯреНрд╕ред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИ!



рд╕рдВрджрд░реНрдн



рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛:




All Articles