Инструменты
Колесо имён выбирает запись из вставленного списка, генератор команд делит имена на равные группы, генератор чисел тянет целые из диапазона, остальные инструменты закрывают монеты, кости, да/нет, порядок списков и случайные буквы.
Как работает случайность
Web Crypto API браузера даёт сырые 32-битные значения (crypto.getRandomValues). Для ограниченного целого значения вне кратного диапазона отклоняются и тянутся снова, поэтому каждое целое в диапазоне равновероятно. На этом сайте нигде нет запасного Math.random.
Как колесо выбирает победителя
Победитель сначала тянется этим равномерным целым. Затем вращение колеса считается так, чтобы центр этого сектора остановился ровно под указателем; анимация только движется к этой фиксированной цели. Правка блокируется, пока колесо крутится, поэтому объявленный победитель всегда сектор в покое.
Команды и числа
- Команды собираются перемешиванием списка Fisher-Yates и раздачей имён по кругу: каждое имя появляется раз, размеры отличаются не больше чем на одного.
- Когда повторы выключены, числа тянутся разреженной выборкой Fisher-Yates — время и память зависят от того, сколько чисел вы просите, а не от ширины диапазона.
- Дубликаты в вашем списке остаются по умолчанию; каждая копия считается своей записью, пока вы явно не уберёте дубликаты.
- Команды можно строить по числу команд или по максимальному размеру группы: круговая раздача держит размеры в пределах одного, ни одна группа не больше заданного размера.
- Истории сессии (монеты, кости, да/нет) остаются в памяти страницы и исчезают, когда вы закрываете или перезагружаете вкладку.
Что остаётся на устройстве
Каждое имя, команда и число обрабатываются на странице. Ничего не загружается, а ввод инструментов никогда не отправляется в аналитику. Колесо имён и генератор команд сохраняют именованные списки в этом браузере только после нажатия кнопки сохранения; JSON-файлы и ссылки для обмена тоже создаются локально. Храните классы и встречи отдельными списками и удаляйте ненужные.
Доступность
Результаты и ошибки объявляются скринридерам, колесо можно крутить с клавиатуры, элементы управления сохраняют видимый фокус, анимации сворачиваются, когда система просит меньше движения.