2011-01-29 6 views
0

MSペイントを覚えていますか?バケツツール?使用してピクセルをクリックした場合、同じピクセルに接続されているすべてのピクセルが影響を受けます。理論では、選択されたピクセルに隣接するピクセルがあるかどうかを確認することです。そのようなピクセルが選択されたピクセルと同じタイプである場合は、このピクセル内のより多くの隣接するピクセルを確認してください。"これに接続されているすべてのタイルを検索"プロジェクト

私はVB.NETで同様のものを実装したいと思います。基本的に私はマップを表す2D配列マップを持っています。

2次元マップを得て、どのタイルがクリックされたかを知ることができ、どの配列インデックスが表すものであるかを知ることができますそのようなタイル。

"ペイント"プロセスのために今。それについて考えてみると、そのような反復を実行する便利な方法を理解することはできません。誰かがこれを達成するための正しいデザイン/方法/チップの選択を手伝ってくれますか?

答えて

4

この操作は「フラッドフィル」と呼ばれます。可能なアルゴリズムとその実装には、いくつかありますが、well described hereです。

+0

そのアルゴリズムは全く素晴らしいと思いますが、私はそれをチェックします、ありがとう。 – Voldemort