C # проблема случайных чисел - PullRequest
0 голосов
/ 10 апреля 2011

У меня есть этот код, который должен генерировать числа от 1 до 100:

int aux;
aux = Game1.rand.Next(101);
if (aux <= 20)
{
     Trace.WriteLine(aux);
     seeker = true;
}

Проблема в том, что я получаю значения меньше 20 каждый раз.Если я изменяю 20 на 30 в операторе if, я всегда получаю числа, меньшие или равные 30. Как я могу преодолеть эту проблему?Спасибо.

Ответы [ 2 ]

3 голосов
/ 10 апреля 2011

Вам нужно поставить Trace.WriteLine(aux); перед оператором if, чтобы он мог записать любые числа выше 20 (или 30, в зависимости от обстоятельств):

int aux;
aux = Game1.rand.Next(101);
Trace.WriteLine(aux);

if (aux <= 20)
{
  seeker = true;
  //...
}
1 голос
/ 10 апреля 2011

Попробуйте что-то вроде

int aux;
aux = Game1.rand.Next(101);
Trace.WriteLine(aux);

Вы получаете значения ниже или равные 20 просто потому, что в предложении if () точно сказано, что вам нужны значения ниже или равные 20.

...