需要块破坏算法(类似于炸弹人)

时间:2011-07-09 14:10:26

标签: algorithm

目前,我只使用两个位向量,一个用于红色块,一个用于蓝色。这些块在10x10网格中堆叠在另一个上面。当炸弹仅在垂直方向上的红色块发生爆炸时,我只是做简单的数学运算并检查位向量以获得命中,因此我必须处理的最糟糕的是10次检查和快速查找。

现在,我想制作一个炸弹可以摧毁所有连接的红色块从起始块(连接意味着垂直,水平或对角线)。

最好的方法是什么?分布是随机的,但通常像40/60。我必须处理的事情就像我说的那样,bitvector,block id以及它们基于接口的块类型。

最好只是在一个单独的线程上每帧检查一个或两个块的外环来划分工作(每帧20个检查)还是有更优雅的方法来做这个?

1 个答案:

答案 0 :(得分:2)

  

现在,我想让它成为一个炸弹可以摧毁所有连接的红色块从起始块

听起来像是flood fill algorithm的工作。

  

分布是随机的,但通常类似于40/60。

老实说,我不明白你的意思。

至于实施细节,每种语言会有所不同。