Как дать равновероятные шансы на случайное открытие лутбокса? [дубликат] ⇐ C#
-
Гость
Как дать равновероятные шансы на случайное открытие лутбокса? [дубликат]
Предположим, я работаю над игрой на C# и хочу дать игроку возможность открывать ящик с добычей. Допустим, у нас есть 5 уровней редкости для всех предметов в игре. Обычный - 60%, Редкие- 20%, Эпический - 7,5%, Специальный - 7,5% Легендарный - 5%
Большая часть кода, который я вижу в Интернете, говорит о необходимости генерировать случайное число, например, от 1 до 100, а затем сравнивать это случайное число с каждой редкостью, пока не получите совпадение.
Однако как это могло быть возможно, если «Эпический» и «Особый» имеют одинаковую вероятность? Допустим, случайное число — 6. Как мне узнать, следует ли мне подарить им особую или эпическую карту? Чего я действительно хочу, так это того, чтобы с вероятностью 7,5% можно было получить эпический вариант, а также с вероятностью 7,5% получить «особый». Как мне это сделать?
Предположим, я работаю над игрой на C# и хочу дать игроку возможность открывать ящик с добычей. Допустим, у нас есть 5 уровней редкости для всех предметов в игре. Обычный - 60%, Редкие- 20%, Эпический - 7,5%, Специальный - 7,5% Легендарный - 5%
Большая часть кода, который я вижу в Интернете, говорит о необходимости генерировать случайное число, например, от 1 до 100, а затем сравнивать это случайное число с каждой редкостью, пока не получите совпадение.
Однако как это могло быть возможно, если «Эпический» и «Особый» имеют одинаковую вероятность? Допустим, случайное число — 6. Как мне узнать, следует ли мне подарить им особую или эпическую карту? Чего я действительно хочу, так это того, чтобы с вероятностью 7,5% можно было получить эпический вариант, а также с вероятностью 7,5% получить «особый». Как мне это сделать?
Мобильная версия