"Find all tiles connected to this one" project
Remember MS Paint? The bucket tool? If you used it and clicked on a pixel, all pixels connected to this pixel that are the开发者_C百科 same are affected. The theory is, I suppose, to check if there is any pixel adjacent to the selected one. If such pixel is the same type as the selected one, check for more adjacent pixels in this one, and so on.
I want to implement something similar in VB.NET. Basically I have a 2D array map which represents the map. Let's assume there are only two types of tile: 0 and 1.
Now, I got pretty much everything ready: I got my 2d map and I can tell which tile is clicked and tell what array indexes are the ones that represent such tile.
Now for the "painting" process. Whenever I think about it, I can't figure a convenient way to execute such iteration. Can someone help me choosing a correct design/way/tip to achieve this?
The operation is called 'flood fill'. Possible algorithms and their implementations, there are several, are well described here.
精彩评论