2011-01-29 41 views
0

記住MS Paint?剷鬥工具?如果您使用它並單擊一個像素,則連接到此像素的所有像素都將受到影響。我想,該理論是檢查是否有任何像素與選定的像素相鄰。如果這種像素與所選像素的類型相同,請檢查此像素中的更多相鄰像素,依此類推。「找到所有連接到這個瓷磚」的項目

我想在VB.NET中實現類似的東西。基本上我有一個二維數組地圖,代表地圖。我們假設只有兩種類型的瓦片:0和1.

現在,我準備好了幾乎所有東西:我得到了我的2D地圖,並且可以分辨哪個瓦片被點擊並告訴哪些數組索引是表示的這種瓷磚。

現在爲「繪畫」過程。每當我想到它時,我都無法找到執行這種迭代的便捷方式。有人可以幫助我選擇一個正確的設計/方式/提示來實現這一目標嗎?

回答

4

該操作稱​​爲「洪水填充」。可能的算法及其實現有幾種,分別是well described here

+0

該算法聽起來非常棒,我會檢查出來,謝謝。 – Voldemort 2011-01-30 02:11:12