C# 查找列表中包含X、Y值的所有物理连接对象

C# 查找列表中包含X、Y值的所有物理连接对象,c#,xna,C#,Xna,我有一个对象列表,每个对象都有以下属性 int X int Y bool deletable enum color 对象将根据其X和Y值以栅格模式绘制到屏幕上。网格可能如下所示,其中Y表示黄色对象,B表示蓝色对象 YYYBBYYY BBYYYYBB 例如,当一个新的黄色对象与网格上的黄色对象碰撞时,我希望找到所有连接的对象,并将其可删除属性设置为true。本质上,我需要从添加到列表中的最后一个元素开始反向工作,并计算出物理接触对象的链 我想要的是关于如何前进的一些想法。我可以找到所有的第一

我有一个对象列表,每个对象都有以下属性

int X 
int Y
bool deletable
enum color
对象将根据其X和Y值以栅格模式绘制到屏幕上。网格可能如下所示,其中Y表示黄色对象,B表示蓝色对象

YYYBBYYY
BBYYYYBB
例如,当一个新的黄色对象与网格上的黄色对象碰撞时,我希望找到所有连接的对象,并将其可删除属性设置为true。本质上,我需要从添加到列表中的最后一个元素开始反向工作,并计算出物理接触对象的链

我想要的是关于如何前进的一些想法。我可以找到所有的第一批邻居,并将他们设置为可删除的,但除此之外,一切都很模糊。我是否要在列表中再循环一次,找到所有deletable设置为true的对象的匹配邻居?我是否要重复多次才能找到所有东西


我觉得有一个更简单的解决方案,我对此视而不见。

虽然布莱恩的回答很简洁,但却是正确的。在这种情况下,在确定是否已设置可删除属性和检查可删除属性时,您将替换设置颜色和检查颜色。

感谢您的详细说明。这似乎是我应该能够用谷歌搜索自己的东西。在我的职位上你会用什么搜索词?我不能告诉你。假设一个人还不知道flood fill这个名字,我很难在谷歌上找到这个问题的答案。@David我搜索bucket fill算法时想到了Paint中的bucket工具