Jestem twórcą gier internetowych i mam problem z przypadkowymi liczbami. Powiedzmy, że gracz ma 20% szans na trafienie krytyczne mieczem. Oznacza to, że 1 na 5 trafień powinno być krytyczne. Problem polega na tym, że otrzymałem bardzo złe wyniki w życiu - czasami gracze otrzymują 3 trafienia krytyczne w 5 trafieniach, czasami żaden z 15 trafień. Bitwy są raczej krótkie (3-10 trafień), więc ważne jest, aby uzyskać dobry losowy rozkład.
Obecnie używam PHP mt_rand()
, ale przenosimy nasz kod do C ++, więc chcę rozwiązać ten problem w nowym silniku naszej gry.
Nie wiem, czy rozwiązaniem jest jakiś jednolity generator losowy, czy może zapamiętanie poprzednich stanów losowych, aby wymusić właściwy rozkład.