关于消除类游戏的算法
我最近做了个对对碰那种消除类游戏,正常消除没问题。
但我不知道怎么判断在消除后是否还有可以消除的可能,如果没有可能继续消除的话就重新生成。 怎么才能判断是否还能消除的可能性?就是怎么判断交换后还能不能消除。
我现在的想法是把所有区域换成横向 3 * 2 和4 * 1 ,纵向 为 2 * 3 和 1 * 4,然后进行所有判断。
就是这种 X Y X X X Y X X X X
Y X Y X Y Y
Y X X
X Y X
在上面我随便列了一种可能,在3 * 2 的区域内判断他们是否每列都有一个相同的宝石,在4 * 1中判断是否有3个相同的宝石。
在2 * 3区域内判断他们是否每行都有一种相同的宝石。
假设我一开始的数组大小为10 * 7,我现在怎样才能把数组变成3 * 2和4 * 1,2 * 3等这样的区域来进行判断。