Підкидання монети та колесо фортуни — безкоштовно
Киньте віртуальну монету, прокрутіть настроюване колесо або випадково виберіть варіант зі списку. Використовує криптографічно безпечну випадковість вашого браузера — це не публічний розіграш, який можна перевірити, тож уникайте регульованих конкурсів.
🔒 Усі три режими використовують криптографічно безпечний генератор випадкових чисел браузера: результат спочатку вибирається, а потім анімується — монета дає справжні 50/50, колесо крутиться до вже вибраного результату, а вибір варіанта неупереджений. Нічого не залишає ваш пристрій. Це чесно для звичайного використання, але це не публічний розіграш, який можна перевірити, тож уникайте регульованих конкурсів або важливих рішень.
Типові застосування
- Кидайте Монету для Прийняття РішеньВикористовуйте справедливе віртуальне кидання монети для швидкого, неупередженого прийняття рішень, коли ви не впевнені між двома варіантами.
- Крутіть Колесо для Випадкового Призначення КомандиВикористовуйте настроюване колесо для випадкового призначення членів команди до завдань, ролей або груп.
- Випадковий Вибір Студента для КласівВикористовуйте колесо або вибір варіантів для випадкового виклику студентів, призначення груп або вибору добровольців.
- Віртуальне Кидання Монети для СпортуКидайте справедливу монету, щоб визначити сторони команди, першу володіння, порядок подачі або інші спортивні рішення.
- Випадковий Вибір для РозіграшівВиберіть випадкового переможця зі списку записів за допомогою Вибору Варіантів - прозорий та справедливий.
Як це працює
Усі три режими — підкидання монети, колесо й вибір варіанта — використовують вбудований у браузер Web Crypto API (crypto.getRandomValues) для визначення результату, а потім повністю на клієнті запускають анімацію через CSS transforms і requestAnimationFrame. Сервер не залучається на жодному етапі.
- 1Web Crypto обирає переможцяПеред початком анімації crypto.getRandomValues заповнює Uint32Array криптографічно випадковим 32-бітним цілим. Операція за модулем зіставляє його з кількістю варіантів (2 для орла/решки, N для колеса чи вибору), тож кожен результат має рівно однакову ймовірність.
- 2Кут обертання обчислюється так, щоб зупинитися на результатіДля монети код обчислює найкоротше додаткове обертання (понад поточний накопичений кут), що закінчується правильним боком догори — орел на 0°, решка на 180°, — і додає 5 повних обертів, щоб це виглядало як справжнє підкидання. Колесо робить те саме: знаходить кутове зміщення, що приводить виграшний сектор під покажчик, додає 6 повних обертів і застосовує невелике випадкове тремтіння, щоб покажчик не завжди зупинявся точно в центрі сектора.
- 3Анімацію керують CSS-переходи й requestAnimationFrameМонета й колесо анімуються через CSS transform із кривою пом’якшення cubic-bezier, застосованою до одного накопиченого значення обертання, — після встановлення кута JavaScript на кожному кадрі не потрібен. Вибір варіанта натомість використовує requestAnimationFrame: на кожному кадрі квадратично зростаючий інтервал визначає, чи пересувати підсвічування, що створює сповільнення, як в ігровому автоматі, яке завжди зупиняється на заздалегідь визначеному переможці.
- 4Результат показується й записується в історію сеансуsetTimeout спрацьовує після завершення анімації (1.3 с для монети, 4.3 с для колеса) і записує результат у стан. Режим монети веде історію сеансу до 24 підкидань із підрахунком орлів і решок. Користувачі з увімкненим prefers-reduced-motion пропускають анімацію й бачать результат одразу.
Схожі інструменти
Колесо вибору
Введіть список імен або варіантів, обертайте колесо і нехай воно вибере один випадково, зі звуком цокання, конфеті та можливістю видаляти кожного переможця.
Генератор випадкових чисел
Генеруйте випадкові числа в будь-якому діапазоні, створюйте унікальні списки чисел або кидайте кубики. Використовує криптографічно безпечну випадковість.
Генератор випадкових команд
Діліть список імен на збалансовані випадкові команди — за кількістю команд або розміром команди. Криптографічно чесне перемішування, миттєве повторне перетасування.