Я пытаюсь создать процентную вероятность для игры. Например. если предмет имеет 45% шанс критического удара, это должно означать, что 45 из 100 попаданий будут критическими.
Сначала я попытался использовать простое решение:
R = new Random();
int C = R.Next(1, 101);
if (C <= ProbabilityPercent) DoSomething()
Но в 100 итерациях с вероятностью, например. 48%, это дает 40-52 из 100. То же самое и для 49, 50, 51. Так что разницы между этими "процентами" нет.
Вопрос заключается в том, как установить процент, например. 50, а с рандомом получить строго 50 из 100? Очень важная штука для вероятности нахождения редкого предмета с возможностью увеличить шанс нахождения с предметом. Так что баф на 1% был бы разумным, сейчас его нет.
Извините за мой плохой английский.