0

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

VB.NETに似たようなものを実装したいと思います。基本的に、マップを表す2D配列マップがあります。タイルのタイプが0と1の2つだけであると仮定しましょう。

これで、ほぼすべての準備が整いました。2Dマップを取得し、クリックされたタイルと、そのようなタイルを表す配列インデックスを確認できます。

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

4

1 に答える 1

4

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

于 2011-01-29T23:59:53.247 に答える