Как я использую случайные числа в C#?

Я работаю над Вонью в C# w/XNA.

Я хочу использовать случайное число (в диапазоне) для определения вещей такой как, оживляется ли шар прямо, или под углом, и как быстро шар перемещается, когда это поражает весло.

Я хочу знать, как реализовать его.

5
задан Slateboard 11 July 2010 в 18:24
поделиться

6 ответов

Используйте класс Random. Например:

Random r = new Random();
int nextValue = r.Next(0, 100); // Returns a random number from 0-99
14
ответ дан 18 December 2019 в 06:21
поделиться

Если вам не нужны криптографически защищенные числа, то Random вам вполне подойдет... но есть две проблемы, о которых следует знать:

  • Не следует создавать новый экземпляр каждый раз, когда он вам нужен. Если вы создадите экземпляр без указания затравки, он будет использовать текущее время в качестве затравки - это означает, что если вы создадите несколько экземпляров в быстрой последовательности, многие из них будут выдавать одну и ту же последовательность чисел. Обычно вы создаете долговечный экземпляр Random и используете его повторно.
  • Он не является потокобезопасным. Если вам нужно генерировать случайные числа в нескольких потоках, вам следует подумать о том, чтобы иметь по одному экземпляру на поток. Прочитайте эту запись в блоге для получения дополнительной информации - но не забудьте прочитать и комментарии, так как в них есть очень полезная информация.
8
ответ дан 18 December 2019 в 06:21
поделиться
Random rnd = new Random();
rnd.Next(minValue, maxValue);

т.е.

rnd.Next(1,10);
1
ответ дан 18 December 2019 в 06:21
поделиться

Используйте метод Next объекта Random, который принимает min и max и возвращает значение в этом диапазоне:

var random = new Random();    
int randomNum = random.Next(min, max);
1
ответ дан 18 December 2019 в 06:21
поделиться

Вот мой генератор случайностей

 private static Random rnd = new Random(Environment.TickCount);

 private int RandomNum(int Lower, int Upper)
{

 return rnd.Next(Lower, Upper);//MyRandomNumber;

}
0
ответ дан 18 December 2019 в 06:21
поделиться

Хотя вы можете использовать класс Random , как и все остальные, класс Random использует только генерацию псевдослучайных чисел. Генератор случайных чисел , который можно найти в пространстве имен System.Security.Cryptography , создает фактические случайные числа.

Как использовать:

RandomNumberGenerator rng = RandomNumberGenerator.Create();
byte[] rand = new byte[25]; //Set the length of this array to
                           // the number of random numbers you want
rng.GetBytes(rand);

Дополнительная информация: http://msdn.microsoft.com/en-us/library/system.security.cryptography.randomnumbergenerator (v = VS.80) .aspx

1
ответ дан 18 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: