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