分配随机数c#
我试图做的是检索随机的“x”和“y”值,将它们分配给我的每个陷阱。我已经学会了如何获取特定范围内的随机数,但是我尝试了各种方法来检索第一个随机xvalue和yvalue来分配它们,但是我收到了“System.random” 编辑:谢谢大家的回答和帮助,但我仍然不清楚如何获得随机值并分配它们。我想做的是,如果我把3作为陷阱的数量,程序会给出6个值,3代表x坐标,3代表y坐标,我很难弄清楚我是如何得到它们的。例如,x的RNG值为(4,7,1),y值为(8,1,6)。我试图使它,使trap1将有值(4,8)分配给它trap2(7,1)和trap3(1,6)。任何指导或提示都会有所帮助分配随机数c#,c#,C#,我试图做的是检索随机的“x”和“y”值,将它们分配给我的每个陷阱。我已经学会了如何获取特定范围内的随机数,但是我尝试了各种方法来检索第一个随机xvalue和yvalue来分配它们,但是我收到了“System.random” 编辑:谢谢大家的回答和帮助,但我仍然不清楚如何获得随机值并分配它们。我想做的是,如果我把3作为陷阱的数量,程序会给出6个值,3代表x坐标,3代表y坐标,我很难弄清楚我是如何得到它们的。例如,x的RNG值为(4,7,1),y值为(8,1,6)。我试图使它,使trap1将有值(4
Console.WriteLine ("Please enter the number of traps.");
Random rndX = new Random ();
Random rndY = new Random ();
int traps;
traps = Convert.ToInt32 (Console.ReadLine ());
Console.WriteLine ("X coordinates for the traps", traps);
for (int X = 1; X <= traps; X++)
{
Console.Write ("{0}", rndX.Next (1, 11));
Console.WriteLine ();
}
Console.WriteLine ("Y coordinates for the traps");
for (int Y = 1; Y <= traps; Y++)
{
Console.Write ("{0}", rndY.Next (1, 11));
Console.WriteLine ();
}
谢谢你看了这个:D
如果有任何关于我应该如何做的提示或指南,我们将不胜感激您必须像在代码的另一部分中那样调用
Next()
方法
最后一行代码隐式地调用
Random
类的实例上的ToString()
,该类输出类类型(“System.Random”
)
最后一行代码隐式地调用
Random
类的实例上的ToString()
,该类输出类类型(“System.Random”
)
最后一行代码隐式地调用
Random
类的实例上的ToString()
,该类输出类类型(“System.Random”
)
最后一行代码隐式地调用
Random
类的实例上的ToString()
,该类输出类类型(“System.Random”
)。这是错误的,它调用Random类上的ToString()方法,从而输出System.Random
Console.WriteLine ("{0,0}",rndX, rndY);
您需要使用{0}
,{1}
为第一个和第二个值正确地索引这些值
Console.WriteLine ("{0}, {1}",rndX.Next(1, 11), rndY.Next(1, 11));
这是错误的,它对random类调用ToString()方法,因此输出
System.random
Console.WriteLine ("{0,0}",rndX, rndY);
您需要使用{0}
,{1}
为第一个和第二个值正确地索引这些值
Console.WriteLine ("{0}, {1}",rndX.Next(1, 11), rndY.Next(1, 11));
这是错误的,它对random类调用ToString()方法,因此输出
System.random
Console.WriteLine ("{0,0}",rndX, rndY);
您需要使用{0}
,{1}
为第一个和第二个值正确地索引这些值
Console.WriteLine ("{0}, {1}",rndX.Next(1, 11), rndY.Next(1, 11));
这是错误的,它对random类调用ToString()方法,因此输出
System.random
Console.WriteLine ("{0,0}",rndX, rndY);
您需要使用{0}
,{1}
为第一个和第二个值正确地索引这些值
Console.WriteLine ("{0}, {1}",rndX.Next(1, 11), rndY.Next(1, 11));
试试这个
Console.WriteLine ("{0},{1}",rndX.Next(), rndY.Next());
试试这个
Console.WriteLine ("{0},{1}",rndX.Next(), rndY.Next());
试试这个
Console.WriteLine ("{0},{1}",rndX.Next(), rndY.Next());
试试这个
Console.WriteLine ("{0},{1}",rndX.Next(), rndY.Next());
一旦使用了这些值,除非保存它们,否则它们将被丢弃
Console.WriteLine ("Please enter the number of traps.");
Random rnd = new Random ();
int traps;
traps = Convert.ToInt32 (Console.ReadLine ());
Console.WriteLine ("X coordinates for the traps", traps);
for (int X = 1; X <= traps; X++)
{
int rx = rnd.Next (1, 11);
Console.Write ("{0}", rx);
Console.WriteLine ();
}
Console.WriteLine ("Y coordinates for the traps");
for (int Y = 1; Y <= traps; Y++)
{
int ry = rnd.Next (1, 11);
Console.Write ("{0}", ry);
Console.WriteLine ();
}
Console.WriteLine(“请输入陷阱数”);
Random rnd=新的Random();
内部陷阱;
traps=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“陷阱的X坐标”,陷阱);
对于(int X=1;X,一旦使用了这些值,除非您保存它们,否则它们将被丢弃
Console.WriteLine ("Please enter the number of traps.");
Random rnd = new Random ();
int traps;
traps = Convert.ToInt32 (Console.ReadLine ());
Console.WriteLine ("X coordinates for the traps", traps);
for (int X = 1; X <= traps; X++)
{
int rx = rnd.Next (1, 11);
Console.Write ("{0}", rx);
Console.WriteLine ();
}
Console.WriteLine ("Y coordinates for the traps");
for (int Y = 1; Y <= traps; Y++)
{
int ry = rnd.Next (1, 11);
Console.Write ("{0}", ry);
Console.WriteLine ();
}
Console.WriteLine(“请输入陷阱数”);
Random rnd=新的Random();
内部陷阱;
traps=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“陷阱的X坐标”,陷阱);
对于(int X=1;X,一旦使用了这些值,除非您保存它们,否则它们将被丢弃
Console.WriteLine ("Please enter the number of traps.");
Random rnd = new Random ();
int traps;
traps = Convert.ToInt32 (Console.ReadLine ());
Console.WriteLine ("X coordinates for the traps", traps);
for (int X = 1; X <= traps; X++)
{
int rx = rnd.Next (1, 11);
Console.Write ("{0}", rx);
Console.WriteLine ();
}
Console.WriteLine ("Y coordinates for the traps");
for (int Y = 1; Y <= traps; Y++)
{
int ry = rnd.Next (1, 11);
Console.Write ("{0}", ry);
Console.WriteLine ();
}
Console.WriteLine(“请输入陷阱数”);
Random rnd=新的Random();
内部陷阱;
traps=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“陷阱的X坐标”,陷阱);
对于(int X=1;X,一旦使用了这些值,除非您保存它们,否则它们将被丢弃
Console.WriteLine ("Please enter the number of traps.");
Random rnd = new Random ();
int traps;
traps = Convert.ToInt32 (Console.ReadLine ());
Console.WriteLine ("X coordinates for the traps", traps);
for (int X = 1; X <= traps; X++)
{
int rx = rnd.Next (1, 11);
Console.Write ("{0}", rx);
Console.WriteLine ();
}
Console.WriteLine ("Y coordinates for the traps");
for (int Y = 1; Y <= traps; Y++)
{
int ry = rnd.Next (1, 11);
Console.Write ("{0}", ry);
Console.WriteLine ();
}
Console.WriteLine(“请输入陷阱数”);
Random rnd=新的Random();
内部陷阱;
traps=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“陷阱的X坐标”,陷阱);
对于(int X=1;X您需要使用同一个随机数生成器,C#中的RNG是一个被破坏的算法,并且还使用时间戳种子作为默认值来实现,因此很容易实现以下两种情况:
rndX.Next()
rndY.Next()
将返回相同的数字,因为由于指令太快,它们都是使用相同的时间戳创建的。请改为调用相同的RNG两次,并使用数组索引选择一个值,如下所示:
var arrX= new int[] {1,2,3};
var arrY = new int[] { 6,7,8};
Console.WriteLine ("{0},{1}",arrX[rndX.Next(3)], arrY[rndX.Next(3))];
您需要使用相同的随机数生成器,C#中的RNG是一种被破坏的算法,并且还使用时间戳种子作为默认值来实现,因此很容易实现以下两种情况:
rndX.Next()
rndY.Next()
将返回相同的数字,因为由于指令太快,它们都是使用相同的时间戳创建的。请改为调用相同的RNG两次,并使用数组索引选择一个值,如下所示:
var arrX= new int[] {1,2,3};
var arrY = new int[] { 6,7,8};
Console.WriteLine ("{0},{1}",arrX[rndX.Next(3)], arrY[rndX.Next(3))];
您需要使用相同的随机数生成器,C#中的RNG是一种被破坏的算法,并且还使用时间戳种子作为默认值来实现,因此很容易实现以下两种情况:
rndX.Next()
rndY.Next()
将返回相同的数字,因为由于指令太快,它们都是使用相同的时间戳创建的。请改为调用相同的RNG两次,并使用数组索引选择一个值,如下所示:
var arrX= new int[] {1,2,3};
var arrY = new int[] { 6,7,8};
Console.WriteLine ("{0},{1}",arrX[rndX.Next(3)], arrY[rndX.Next(3))];
您需要使用相同的随机数生成器,C#中的RNG是一种被破坏的算法,并且还使用时间戳种子作为默认值来实现,因此很容易实现以下两种情况:
rndX.Next()
rndY.Next()
将返回相同的数字,因为由于指令太快,它们都是使用相同的时间戳创建的。请改为调用相同的RNG两次,并使用数组索引选择一个值,如下所示:
var arrX= new int[] {1,2,3};
var arrY = new int[] { 6,7,8};
Console.WriteLine ("{0},{1}",arrX[rndX.Next(3)], arrY[rndX.Next(3))];
有