DEEP BOX - блог

Честно и прозрачно: как сделать корпоративное лото

Кто из нас в детстве не играл в лото! Билеты, бочонки, строгий взгляд на Ведущего, который достаёт их из мешочка. На самом деле, лото как простая корпоративная игра - пожалуй, самый действенный способ разыграть призы и привлечь внимание участников. Почему?

Во-первых, абсолютно никаких приготовлений. Количество участников может быть любым, билетов мы можем сгенерировать сколько угодно - и каждый зарегистрировавшийся участник мероприятия получит свой УНИКАЛЬНЫЙ билет. То есть такой комбинации цифр на билете, как у него, гарантированно нет больше ни у кого. Модуль "лото" подключается одним нажатием кнопки, нужно лишь определить несколько параметров: количество доступных билетов, регламент... впрочем, регламент нужно оговаривать с Ведущим.


Билет - это 12 номеров от 1 до 60. Мы помним, что в классическом лото номеров - 90, но вариант с 60 номерами более динамичен: Ведущему не придётся тащить бочонки из мешка слишком долго. При этом сам билет - его цвет, изображение на полях и даже изображения на номерах - может быть брендирован. Скажем больше: выпадение каждого  номера можно увязать с появлением на экране какого-то определённого вопроса, и правильно ответивший записывает себе в актив еще и призовые баллы - получается две игры в одной, или, если угодно, Интеллектуальное лото.

Во-вторых, минимум технических настроек - ведущий с мешочком в прямом эфире тянет бочонки с номерами, объявляет их - и у участников автоматически закрашиваются "выпавшие" номера. В случае онлайн-мероприятия ведущий в прямом эфире отображается у участника на том же экране, где билет (или билеты).

В-третьих (и это самое главное и удивительное) - сколько бы ни было призов, у нас есть способ определить, кто на каком месте, даже при тысячах участников. Сейчас расскажем.

Начнем с того, что игра построена на случайности. За это мы её и любим. Вытаскивание бочонков из непрозрачного мешка (равно как шаров из барабана) - процедура, которую невозможно подтасовать. Все всё видят в прямом эфире. Но есть и обратная сторона: даже при том, что билеты у всех разные, мы не можем гарантировать, что на N-м шаге у нас не появится сразу два и более победителей.

Стоп. А победитель это кто? Тот у кого выпали все номера на билете? 

В целом да, но тут опять же есть несколько сценариев.
  1. Тащить номера до появления хотя бы одного участника, у которого совпали все номера
  2. Тащить номера до появления заданного количества участников, у которых совпали все номера
  3. Тащить определённое количество номеров. Например, все. Или две трети.  

Следующий вопрос, вернее два. В вариантах 1 и 2 мы не можем предсказать, сколько будет участников, у которых совпали все номера. Например, нам нужен один победитель, а их сразу стало трое. Или нам нужно было 10, и на N-м шаге их было ещё 8, а на следующем их стало сразу 14. А в варианте 3 ещё непонятнее: допустим, у нас вообще нет победителей, нет никого, у кого совпали бы все 12 номеров из 12, но есть несколько десятков тех, у кого совпали 11. Причём разные. И как определить, кому из них давать приз, а кому нет, если призов всего... скажем, десять?

Тут-то мы и приходим к самому главному. Универсальный способ сортировки, который понятен участникам, и который мгновенно рассчитывает таблицу результатов. 

Допустим, у нас есть пять участников, загадавших одну цифру: Артём загадал 1, Борис 2, Владимир 3, Григорий 4, Дмитрий 5. Ведущий тащит шарики с цифрами: 7 - никто не выиграл. 2 - выиграл Борис, но он тащит дальше. 6 - опять никто не выиграл. 5 - выиграл Дмитрий, 1 - выиграл Артём. Борису полагается более высокое место, его номер ведь выпал раньше. На втором шаге. На втором месте - Дмитрий, его номер выпал на четвёртом шаге, на третьем - Артём, его номер выпал на пятом шаге. Четвёртое и пятое места делят Владимир и Григорий, их номера так и не выпали, извините, друзья.

А теперь представим, что имеем дело не с загадыванием одной цифры, а с билетами, на каждом из которых таких цифр несколько. И как только выпадает номер, который есть в билете, в "историю совпадений" этого билета записывается номер шага, на котором это совпадение произошло: например, первое совпадение случилось на третьем шаге, второе - на пятом, третье - на восьмом. 

Теперь, если после X вытащенных шаров у нас есть двое, у которых совпали, скажем, 10 номеров - давайте проверим, а на каком шаге у каждого из участников совпал десятый шар. На одном и том же? То есть одновременно? Прекрасно. Тогда проверим, на каком  шаге у них совпал предыдущий, 9-й шар. Тогда логично, что выше в турнирной таблице будет тот, у кого совпадение случилось раньше, не так ли?

Предположим, что и 9-й шар совпал у двоих одновременно. Углубляемся в "историю совпадений" и рано или поздно доходим до места, когда у одного из двоих совпадение случилось раньше, и он поднимается выше в турнирной таблице.


И даже если у нас найдётся пара участников, у которых все номера совпадали одновременно (если мы играем до полного совпадения номеров в билете, то такое невозможно, но вдруг клиент решил чуть поменять регламент) - у нас есть ответ, кому присудить более высокое место.

Всё просто. Тому, кто раньше зарегистрировался :)

На недавнем новогоднем мероприятии у нас было лото на 9000 участников. Призов было около 500. Где-то после сорока вытащенных бочонков появился первый победитель, у которого совпали все номера, потом второй, третий... их стало пятеро, потом двадцать.... а ведущий всё не мог остановиться. Он вытащил почти все бочонки. В итоговой таблице результатов - 1008 участников, у которых совпали все номера (но мы знаем, как по-честному выбрать из них первые 500). И ещё 2539, у которых совпали 11 из 12, и 2605 у которых совпало 10 из 12. Минимальное количество совпадений - 6 из 12, такое случилось лишь с 18 сотрудниками, будем надеяться, что им повезёт в новом году в чём-нибудь другом.

Текст понятного всем участникам регламента укладывается в тысячу знаков - пятая часть этой статьи. Всё честно, прозрачно и никаких подозрений в предвзятости и подтасовках. Рекомендуем!


Геймификация Функционал