2
我正在尝试制作基于瓦片的游戏,其中瓦片用随机颜色填充,并且用户单击其消失的瓦片。这我已经完成了。修改特定任务的洪水填充算法
现在,我想要做的是瓷砖消失仅在2个或多个相邻的瓷砖具有相同的颜色。我使用了洪水填充算法来销毁拼贴。如何修改这个代码,以便它只能如果某些计数值大于2
这是破坏瓷砖的代码更大:
private void Destroy(int x,int y,int old_Value,int new_Value)
{
if (GameArr[x,y].BlockValue == old_Value)
{
//if some count > 2 then only
GameArr[x, y].BlockValue = 0;
Destroy(x + 1, y, old_Value, new_Value);
Destroy(x - 1, y, old_Value, new_Value);
Destroy(x, y + 1, old_Value, new_Value);
Destroy(x, y - 1, old_Value, new_Value);
}
}
我如何获得这个计数值?
- 如果我在方法本身传递一个count变量,并检查值 是否超过2然后销毁它不会破坏前两个tile。
- 如果我做另一种方法来检查瓷砖是否可销毁,它会在计数时将blockValues设置为0。
我该如何去做这件事。任何帮助,将不胜感激。
您可以标记该为自己回答。 – 2013-05-14 07:49:18