RGB Clicker

Кликер в 30 строк... Который проходить ОЧЕНЬ ДОЛГО...

by Станислав Некрасов

JavaScript

((panel, color, step) => {
  panel.style.cssText = 'position:absolute;left:0;right:0;top:0;bottom:0;cursor:pointer;-webkit-tap-highlight-color:transparent;';
  panel.addEventListener('click', event => {
    color += step;
    if (color > 16777215) {
      alert('Ура! Вы как-то прошли мою игру RGB кликер...')
      if (step < 16777215) {
        alert('Но, это был только ' + step + 'раз.\n'
          + 'Поэтому цвет обнуляется, а клик теперь изменяет цвет быстрее.');
      } else alert('Ух-ты, Вы полностью прошли мою игру. Спасибо за прохождение.');
      [color, step] = [0, step < 16777215 ? step + 1 : 1];
      localStorage.setItem('rgbclicker-step', step);
    }
    localStorage.setItem('rgbclicker-color', color);
    panel.style.background = 'rgb(' + (color & 255) + ','
      + ((color >> 8) & 255) + ',' + (color >> 16) + ')';
  });
  panel.style.background = 'rgb(' + (color & 255) + ','
      + ((color >> 8) & 255) + ',' + (color >> 16) + ')';
  document.body.append(panel);
  if (step == 1 && color == 0) { 
    alert('Нажимай на экран, изменяй цвет, проходи игру, радуйся.');
    alert('Нужно 16777215 раз дойти до белого цвета.');
  } /* Как раньше любили делать на Хабре.. Какая-нибудь игра в 30 строк кода.. */
})( /* Вот, теперь и у меня такая есть =) */
  document.createElement('div'), localStorage.getItem('rgbclicker-color') || 0,
  localStorage.getItem('rgbclicker-step') || 1
);