Posts Tagged ‘Новий рік’

Для мене новий рік це нагода провести вечір та ніч в колі гарних друзів, згадати приємні події, відчути магічний настрій свята. Та який Новий рік без ялинки та подарунків. Так приємно отримувати та дарувати хоч і дрібнички, але приготовлені з душею. Але з кожним новим святом наша компанія тільки росла, а ідей чим би порадувати друзів ставало все менше. І минулого Нового Року Влад запропонував пограти у Таємного Санту. Правила прості: кожен готує подарунок тільки одному з присутніх на святі, причому ніхто не знає хто кого вітає. Питання таємності ми вирішили реалізувати шляхом витягування папірців з іменем, якщо раптом випадало твоє ім’я, то папірець перетягувався. Тому десь у грудні ми зібралися усі, щоб обговорити програму святкування, та визначитись із Сантою. На цю зустріч, як часто буває, не у всіх вийшло потрапити, але серед нас був “незалежний суддя”, який перевірив, щоб на папірцях відсутніх учасників (які ми їм пізніше передали) не значилось їх ім’я.

В новорічну ніч результат перевершив усі мої сподівання. Це дійсно казково отримати свій подарунок не знаючи хто саме його готував, відчувається якась магія у всьому цьому. Подарунки стали більш персоналізовані і різноманітні. Звісно згодом, аналізуючи усе побачене, можна здогадатись хто кому вибирав подарунок, але це зовсім не псує сам ефект таємності.

Думаю тоді такі відчуття були не тільки у мене, тому коли прийшов час обговорення цьогорічного Нового року усі знову погодились на Таємного Санту. Пам’ятаючи минулий процес жеребкування я запропонувала реалізувати його он-лайн. Мені це було цікаво, тому не відкладаючи усе в далекий ящик (та й часу на це вже не було) я прийнялась за реалізацію проекту “Операція Таємний Санта”.

Проект – то звучить дуже гучно. Потрібен був алгоритм правильного розкидання імен учасників між собою, та проста сторінка для отримання цього імені. Отже алгоритм. Я обрала звичайний рандом серед елементів масиву з нашими іменами з перевіркою на не рівність з власним ім’ям та подальшим вилученням цього імені з масиву (повний аналог наших минулорічних папірців). Проблема була тільки в останній парі імен “Санта – внучок” (будемо людину, яка отримує подарунок вважати внучком для Санти) у випадку якщо вони однакові, тоді вже не буде з чого іншого вибирати, тому в такому випадку останні два Санти мінялись своїми внучками. В результаті маємо пари імен Санта-внучок, які записуємо до бази даних.

Для виведення даних користувачу, думала використати drop-down list по значенню якого виводити ім’я внучка розраховуючи на чесність учасників цієї гри, але в розмові з Дімою пролунав варіант таблиці зі всіма Сантами. А чесність – це добре, але інколи можна і випадково не на ту кнопку натиснути, тому добавилось ще одне поле в базу – пароль ну і для наглядності процесу стан учасника (отримав чи ні вже ім’я свого внука). В результаті всього народилась ось такого виду сторінка.

Зауважу одразу, що повної таємності весь проект так і не отримав, поскільки усі паролі були мені відомі та і в базу я могла заглянути будь-якої миті, але я не ворог собі, щоб позбавляти себе ж того магічного відчуття свята. Не зважаючи на позитивний результати перевірки, я до останнього переймалась, а раптом щось пішло не так і хтось залишиться без подарунка. Та в сам день Х я про це забула, згадала тільки за декілька годин по тому і стало якось радісно. Наче дрібниця, але приємно, що пророблена робота трішки допомогла нам та не надовго розважила, сподіваюсь, не тільки мене.

 

Тепер з чистим сумлінням можу сказати, що Операція “Таємний Санта” завершена, база перетерта і для прикладу в цій статті була використана тестова інформація. Таємниця Санти збережена, хоч повторюсь ми занадто не обережні та добре знаєм один одного, щоб ховатись за маскою Санта Клауса чи Діда Мороза, та і хіба це погано. Усіх з Новим роком, даруйте дорогим вам людям посмішки і відчуття казки. А моєму Таємному Санті окрема подяка за теплі подарунки.