Как можно разнообразить действия в %?

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 250
Благодарностей
78
Баллы
48
Т.е. например мне нужно чтобы в 50 % следующий шаг будет одним,в 20 % другим, в 10 % третьм, в 7 % четвертым и т.д.
Если такая возможность?
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 417
Благодарностей
5 454
Баллы
113
Switch + рандом числа.
 

inilim

Client
Регистрация
16.09.2017
Сообщения
446
Благодарностей
170
Баллы
43
возьмем цифру 10, 10 шагов.
Берем кубик с рандомизацией числа от 1 до 10. И делать условия свитч если выпало 1 делает 1 шаг и т.д. Это и будет вам %

А если хотите чтобы один шаг был чаще, так дайте условие с 1 по 5 будет исполнятся одно действие. Это вам будет 50%
 
  • Спасибо
Реакции: Mikhail B.

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 250
Благодарностей
78
Баллы
48
Ясно, ну так я думал уже тоже, но хотелось бы проще как то.
 

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28
Для 50-ти процентной случайности я использую такой код:
Код:
int chance = Global.Classes.rnd.Next(2);
if (chance!=0) return null;
выход по красной или зеленой ветке.

Если надо сделать 25%, то вместо 2 ставим 4
 
  • Спасибо
Реакции: Sobesednic и orka13

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 250
Благодарностей
78
Баллы
48
возьмем цифру 10, 10 шагов.
Берем кубик с рандомизацией числа от 1 до 10. И делать условия свитч если выпало 1 делает 1 шаг и т.д. Это и будет вам %

А если хотите чтобы один шаг был чаще, так дайте условие с 1 по 5 будет исполнятся одно действие. Это вам будет 50%
Ясно, ну так я думал уже тоже, но хотелось бы проще как то.
 

Mahno

Client
Регистрация
16.05.2015
Сообщения
439
Благодарностей
93
Баллы
28
  • Спасибо
Реакции: Mikhail B.

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 417
Благодарностей
5 454
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)