我正在使用C#w / XNA进行Pong。
我想使用一个随机数(在一个范围内)来确定球是否直线反弹,或以某个角度反弹,以及球击中桨时球的移动速度。
我想知道如何实现它。
答案 0 :(得分:14)
使用Random课程。例如:
Random r = new Random();
int nextValue = r.Next(0, 100); // Returns a random number from 0-99
答案 1 :(得分:7)
除非您需要加密安全号码,Random
对您来说应该没问题......但有两点需要注意:
Random
实例并重复使用它。答案 2 :(得分:1)
Random rnd = new Random();
rnd.Next(minValue, maxValue);
<强>即强>
rnd.Next(1,10);
答案 3 :(得分:1)
使用Random对象的Next方法,该方法需要min和max并返回该范围内的值:
var random = new Random();
int randomNum = random.Next(min, max);
答案 4 :(得分:1)
虽然您可以像其他人所建议的那样使用Random
类,但Random
类仅使用伪随机数生成。可以在RandomNumberGenerator
命名空间中找到的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);
答案 5 :(得分:0)
这是我的随机生成器
private static Random rnd = new Random(Environment.TickCount);
private int RandomNum(int Lower, int Upper)
{
return rnd.Next(Lower, Upper);//MyRandomNumber;
}