“找到与此相关的所有瓷砖”项目

时间:2011-01-29 23:24:11

标签: vb.net multidimensional-array fill

还记得MS Paint吗?铲斗工具?如果您使用它并单击像素,则连接到此像素的所有像素都会受到影响。我想这个理论是检查所选择的像素是否有任何像素。如果此类像素与所选像素的类型相同,请检查此像素中的更多相邻像素,依此类推。

我想在VB.NET中实现类似的东西。基本上我有一个代表地图的二维数组地图。我们假设只有两种类型的图块:0和1。

现在,我已经准备好了所有的东西:我得到了我的2d地图,我可以分辨出哪个瓷砖被点击,并告诉哪些数组索引代表这样的瓷砖。

现在为"绘画"处理。每当我想到它时,我都无法找到一种方便的方法来执行这样的迭代。有人可以帮助我选择正确的设计/方式/提示来实现这一目标吗?

1 个答案:

答案 0 :(得分:4)

该操作称为“洪水填充”。可能的算法及其实现有几个,是well described here