Я разработчик веб-игр, и у меня возникла проблема со случайными числами. Скажем, у игрока есть 20% шанс получить критический удар мечом. Это означает, что 1 из 5 хитов должен быть критическим. Проблема в том, что у меня очень плохие реальные результаты жизни; иногда игроки получают 3 крита в 5 хитов, иногда ни один из 15 хитов. Сражения довольно короткие (3-10 ударов), поэтому важно получить хорошее случайное распределение.
В настоящее время я использую PHP mt_rand()
, но мы просто перемещаем наш код на С++, поэтому я хочу решить эту проблему в нашей новой игре.
Я не знаю, является ли решение некоторой однородной случайной генерацией или, возможно, помнить предыдущие случайные состояния, чтобы принудительно распределить распределение.