1

好的,我正在开发一个游戏,它在屏幕上设置一个 12x16 的网格,然后在屏幕上绘制一个图案,如下所示http://oi49.tinypic.com/53odih.jpg

我只是想知道是否有一种方法可以使用代码来查看框是否存在于模式中?

这就是我循环我的网格框的方式

    //Set all blocks to default
    for(int i=0;i<tilesX;i++){
        for(int j=0;j<tilesY;j++){
            blocks[i][j] = 0;
        }
    }

如果块是模式的一部分,我将块设置为 1。我希望模式内的块设置为 2,但我想不出一种以编程方式执行此操作的方法。图案将始终是一个完整的形状,并将始终连接回起点。

我希望这不会太令人困惑,我愿意为您提供您需要的任何东西,但我只是迷失了如何去做。谢谢

4

1 回答 1

0

您需要实现洪水填充算法。根据绘制状态 2 的方式,您可以从形状内的已知点开始填充区域。然后检查它是 0(外部)、1(边界)还是 2(内部)。

我想我在这里掌握了你想要的东西,但如果我不在基地,请告诉我。

于 2012-05-14T15:29:19.340 回答