Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Alternatywa dla funkcji rand()

Ostatnio zmodyfikowano 2025-12-07 18:50
Autor Wiadomość
czerwonymoskit
Temat założony przez niniejszego użytkownika
Alternatywa dla funkcji rand()
» 2025-12-05 15:33:06
Czy funkcja rand() jest wystarczająca do generowania losowych, prostych liczb? Czy warto szukać innej funkcji do tego?
P-183587
pekfos
» 2025-12-05 15:52:02
To generator losowy o słabej jakości. Zależy do czego to ma być używane.
P-183588
nanoant20
» 2025-12-05 21:21:30
od C++11 dostępne są znacznie lepsze generatory liczb losowych <random>
https://codeforces.com/blog/entry/61587
https://learn.microsoft.com/en-us/cpp/standard-library/random?view=msvc-170
P-183589
czerwonymoskit
Temat założony przez niniejszego użytkownika
» 2025-12-06 09:42:42
Chodzi o zwykłe losowanie liczb powiedzmy od 0 do 4. Tylko dużo powtarzających się tych testów jest.
P-183590
pekfos
» 2025-12-06 12:47:45
Brzmi jakby głównym czynnikiem był długi okres zanim liczby zaczną się powtarzać, pewnie rand() wystarczy, zawsze możesz zmienić to później.
Ja osobiście preferuję std::mt19937 z <random> jako domyślny wybór, bo to konkretny algorytm (żadnych gwarancji co robi rand() w środku), jakość jest dobra i mogę sobie utworzyć tyle niezależnych instancji generatora ile mi się podoba - bardzo przydatne gdy chcesz dane losowe, które mają być reprodukowalne. Na przykład do testów jednostkowych, proceduralnego generowania rzeczy w grach itp.
P-183591
czerwonymoskit
Temat założony przez niniejszego użytkownika
» 2025-12-07 10:43:40
Dokładnie. Wyszedłem z tego samego założenia, że mogę zmienić to później. Wydaje mi się, że rand jest całkiem ok ale jak czytam po sieci to są lepsze generatory. W tej grze losuje po prostu współczynniki, które mają maxymalnie wartosć 4. Czyli np rand()(skillsM + 1) dla skillsM == 3 będą to możliwe wyniki 0, 1, 2, 3. I tak lata cała gra. Często łączę testy.
Czytałem dużo dobrego o xorshift128+. Podobno prosty i fajny. Ewentualnie ten random ale on jest chyba bardziej skomplikowany w użyciu.
P-183596
pekfos
» 2025-12-07 11:58:24
Ewentualnie ten random ale on jest chyba bardziej skomplikowany w użyciu.
Przecież to gotowce w bibliotece standardowej.
P-183597
czerwonymoskit
Temat założony przez niniejszego użytkownika
» 2025-12-07 18:50:39
No tak ale nie rozumiałem co drugiego słowa w tym co napisałeś... Więc tak zwątpiłem 😉
P-183603
« 1 »
  Strona 1 z 1