Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 试图阻止随机生成的图片框彼此不相交_C#_Windows Forms Designer - Fatal编程技术网

C# 试图阻止随机生成的图片框彼此不相交

C# 试图阻止随机生成的图片框彼此不相交,c#,windows-forms-designer,C#,Windows Forms Designer,我正在windows窗体中开发一个程序,生成随机坐标点来绘制鱼。我需要鱼停止相互交叉,但我编写的代码不起作用。生成的坐标应放入矩形中,然后对照所有其他点矩形进行检查。鱼不停地交叉。知道为什么吗? for(int i=0;i

我正在windows窗体中开发一个程序,生成随机坐标点来绘制鱼。我需要鱼停止相互交叉,但我编写的代码不起作用。生成的坐标应放入矩形中,然后对照所有其他点矩形进行检查。鱼不停地交叉。知道为什么吗?

for(int i=0;i
试试下面的方法。它仅在确定该点不与任何其他鱼相交后添加该点:

Size fishSize = new Size(200, 134);
for (int i = 0; i < fishNumber;i++)
{
    Point pt;
    bool collided;
    do
    {
        collided = false;
        pt = new Point(x.Next(200, 3100), y.Next(100, 1620));
        Rectangle rcNewFish = new Rectangle(pt, fishSize);
        foreach(Point otherPt in fishPoints)
        {
            if (rcNewFish.IntersectsWith(new Rectangle(otherPt, fishSize)))
            {
                collided = true;
                break;
            }
        }
    } while (collided);
    fishPoints.Add(pt);
}
Size fishSize=新尺寸(200134);
对于(int i=0;i
刚刚添加了它。。
Size fishSize = new Size(200, 134);
for (int i = 0; i < fishNumber;i++)
{
    Point pt;
    bool collided;
    do
    {
        collided = false;
        pt = new Point(x.Next(200, 3100), y.Next(100, 1620));
        Rectangle rcNewFish = new Rectangle(pt, fishSize);
        foreach(Point otherPt in fishPoints)
        {
            if (rcNewFish.IntersectsWith(new Rectangle(otherPt, fishSize)))
            {
                collided = true;
                break;
            }
        }
    } while (collided);
    fishPoints.Add(pt);
}