Перейти до основного вмісту
LibraTool logoLibraTool

Підкидання монети та колесо фортуни — безкоштовно

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

Працює офлайн після завантаження

🔒 Усі три режими використовують криптографічно безпечний генератор випадкових чисел браузера: результат спочатку вибирається, а потім анімується — монета дає справжні 50/50, колесо крутиться до вже вибраного результату, а вибір варіанта неупереджений. Нічого не залишає ваш пристрій. Це чесно для звичайного використання, але це не публічний розіграш, який можна перевірити, тож уникайте регульованих конкурсів або важливих рішень.

Типові застосування

  • Кидайте Монету для Прийняття РішеньВикористовуйте справедливе віртуальне кидання монети для швидкого, неупередженого прийняття рішень, коли ви не впевнені між двома варіантами.
  • Крутіть Колесо для Випадкового Призначення КомандиВикористовуйте настроюване колесо для випадкового призначення членів команди до завдань, ролей або груп.
  • Випадковий Вибір Студента для КласівВикористовуйте колесо або вибір варіантів для випадкового виклику студентів, призначення груп або вибору добровольців.
  • Віртуальне Кидання Монети для СпортуКидайте справедливу монету, щоб визначити сторони команди, першу володіння, порядок подачі або інші спортивні рішення.
  • Випадковий Вибір для РозіграшівВиберіть випадкового переможця зі списку записів за допомогою Вибору Варіантів - прозорий та справедливий.

Як це працює

Усі три режими — підкидання монети, колесо й вибір варіанта — використовують вбудований у браузер Web Crypto API (crypto.getRandomValues) для визначення результату, а потім повністю на клієнті запускають анімацію через CSS transforms і requestAnimationFrame. Сервер не залучається на жодному етапі.

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

Схожі інструменти

Часті запитання