З чого почати
Прочитайте, що таке генератор випадкових чисел: апаратні, псевдовипадкові та криптографічно стійкі генератори, чому числа повторюються і що пропонує браузер. Коли потрібні числа, а не пояснення, генератор випадкових чисел створить їх у вашому браузері в будь-якому діапазоні, з повторами або без.
Де генератори непомітно помиляються
Надійне джерело випадковості — лише половина справи. Друга половина — перевести його сирі значення у ваш діапазон, і саме тут помиляється багато саморобних генераторів. Узяти остачу від ділення значення на розмір діапазону — очевидний підхід, але він дає ледь помітне зміщення: якщо розмір діапазону не ділить простір значень джерела націло, найменші числа діапазону випадають трохи частіше за решту. Ця вада називається зміщенням за модулем (modulo bias). Один зі способів її усунути — вибірка з відхиленням (rejection sampling): відкидати значення, що потрапили в нерівний «хвіст», і брати нові. Наш генератор так і робить, тож кожне число у вашому діапазоні має однаковий шанс за кожного розіграшу.
Ті самі міркування відсіюють і варіанти, до яких вдаються найперше. Math.random() нічого не обіцяє щодо безпеки, а функції електронних таблиць, як-от RAND() і RANDBETWEEN(), належать до того самого класу: вони годяться, щоб приблизно щось перемішати, але не для результату, який хтось може оскаржити.
Числа, списки й кубики
Генератор випадкових чисел повертає числа із заданого вами діапазону. Випадковий вибір зі списку працює зі списком, який ви вставляєте, — іменами, заявками, варіантами, — тож не доводиться вручну зіставляти числа з рядками. Для настільних ігор кубики онлайн кинуть кубики й порахують суму, а для вибору з двох варіантів досить підкинути монетку. Коли випадковість має щось захищати, а не щось вирішувати, скористайтеся генератором надійних паролів. Усі вони беруть випадковість з того самого криптографічно стійкого джерела у вашому браузері.