Jak działa generator losowych liczb?
Generator wykorzystuje funkcję Math.random() przeglądarki do tworzenia liczb pseudolosowych z zadanego zakresu. Dla każdej "kostki" losujemy liczbę zmiennoprzecinkową 0-1, mnożymy przez wielkość zakresu i zaokrąglamy w dół, dodając minimum.
Po co losowe liczby?
- Konkursy w social media - losowanie zwycięzcy spośród komentujących
- Wybór numerków - kto pierwszy, kto trzeci na liście
- Gry planszowe - elektroniczna kość zamiast fizycznej
- Generowanie testów - losowe pytania dla uczniów
- Lotto - typowanie liczb (z wyłączeniem powtórzeń)
Z powtórzeniami czy bez?
Domyślnie generator nie pozwala na powtórzenia - każda wylosowana liczba jest unikalna. To dobre dla losowania zwycięzców konkursów (jedna osoba nie może wygrać dwa razy) lub wyboru liczb Lotto. Włącz "Zezwól na powtórzenia" gdy potrzebujesz np. 5 rzutów kością do gry - wtedy ta sama liczba może wypaść kilka razy, jak w prawdziwej kostce.
Czy to naprawdę losowe?
Math.random() to PRNG (pseudo-random) - przeglądarka używa algorytmu deterministycznego. Dla zwykłych zastosowań (konkursy, gry) to w 100% wystarczy. Do zastosowań kryptograficznych (klucze, hasła) potrzebny jest crypto.getRandomValues() - który stosujemy w naszym Generatorze haseł.