在c#中生成随机盒装坐标

时间:2017-08-18 06:17:33

标签: c# random coordinates

我需要找到随机坐标,像方形一样绑定。为此我定义了这个值70,55,175,175是我想要去的最远点:

and

我的生成器在下面,我已经声明了一个全局静态参数:

north = Utility.generateRandomNumber(Utility.Directions.NORTH, 70);
south = Utility.generateRandomNumber(Utility.Directions.SOUTH, 55);
east = Utility.generateRandomNumber(Utility.Directions.EAST, 175);
west = Utility.generateRandomNumber(Utility.Directions.WEST, 175);

指示是一个调查员。

public static Random random = new Random();

该功能正常,我检索如下的坐标:

public static int generateRandomNumber(Directions direction, int to)
{
    if ((direction == Directions.SOUTH) || (direction == Directions.WEST))
        return random.Next(to * -1, 0);
    else
        return random.Next(0, to);
}

问题是该框是围绕(0,0,0,0)坐标建造的,我不知道如何摆脱它同时确保北方大于南方,西方留下来地图和东边是地图的右边。

2 个答案:

答案 0 :(得分:2)

我建议你改变你的做法:

  • 在适当范围内的任何地方为北角/西角生成一个点
  • 生成宽度和高度,确保它们“正面”
  • 设置东=西+宽,南=北 - 高

答案 1 :(得分:0)

实际上我通过随机化零坐标来解决它。这样,界限的“中心”点也移动了。