随机X Y坐标
本文关键字:坐标 随机 | 更新日期: 2023-09-27 17:59:45
我想得到一些随机的(x,y)坐标,但我不知道怎么做。坐标之间必须有60的相对差。
例如,以像素为单位:
x y
0 60
0 120
0 180
60 0
120 60
180 60
....
使用C#如何做到这一点?
您可以执行以下操作:
x = random(0, n)
if(x - 30 < 0)
y = random(x + 30, n)
else if(x + 30 > n)
y = random(0, x - 30)
else
// in this case, x splits the range 0..n into 2 subranges.
// get a random number and skip the "gap" if necessary
y = random(0, n - 60);
if(y > x - 30) {
y += 60;
有道理吗?它基本上可以归结为"在0和n之间选择两个相差30以上的随机数。";60.
假设你希望这些坐标在0-n的范围内。然后你必须得到一个0到n/30之间的随机数,并将其乘以30。因此:
Random r = new Random();
coordinate_whatever = r.Next(n / 30) * 30;