随机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 Y坐标

您可以执行以下操作:

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;