Новогодний розыгрыш

в 2:56, , рубрики: javascript, Веб-разработка, Новый Год, Рождество, розыгрыш, снег, метки: , , ,

Новогодний розыгрыш
Понимаете, каждый год 31 декабря мы с друзьями разыгрываем подарки. Это у нас такая традиция…

Не всегда заранее известно, кто придет на новогоднюю вечеринку, сколько будет гостей и кем они будут. В кругу моих друзей эта ситуация повторялась из года в год.

Подарков на всех может не хватить, поэтому, чтобы никому не было обидно, однажды мы решили, что каждый захватит по одному «общественному» подарку. И на месте решим, кто кому и что дарит.

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

Каждый раз я садился и писал на коленке скрипт для подбора случайных пар дарителей и получателей. И каждый раз он, скрипт, терялся на следующий год. Но при этом появлялся новый, более совершенный. Он становился сложнее, появлялись обои, снежинки и прочая красота.

И вот, наконец, в этом году дошли руки увековечить накопленный опыт в области «новогоднего розыгрыша» в виде сайтика, которым я и хочу с вами поделиться.

В самом сайте нет почти ничего необычного, html + javascript. Есть английская версия. Создавался пару дней, поэтому не ругайте особо. Для нахождения пар используется рандомизированный поиск в глубину. Есть проблема со временем выполнения поиска при большом количестве ограничений. Если у кого-то найдутся добрые руки, буду рад коммиту: github.com/simbajoe/newyear.

Совсем немного времени осталось до Нового Года, католическое Рождество наступает, христианское разогревается, а старый новый год забивает трубку. Надеюсь, что кому-то данный новогодний сайт пригодится.

Всех с наступающим!

Ссылка на сайт: newyear.simbajoe.name.

Новогодний розыгрыш

Автор: simbajoe

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js