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