开心消消乐简单消除检测

        最近在b站上看一个Unity教学视频,制作开心消消乐。个人感觉视频中的消除方法写得很随意,有点不爽,于是自己新写了个方法。


基本规则:三个或三个以上元素,横着连一起算消除,竖着连一起算消除。

L形T形也算。

函数返回匹配成功的待消除对象。


        视频中的消除方法大概意思是:

        但是这样一来,弓字形是探测不到的。感觉跟我想的不太一样,于是我写了包括弓形的方法:

匹配结果就是横匹配标记列表或者纵匹配标记列表

虽然是递归,但是最后,所有结果元素也只会被匹配两次,所以算法复杂度并不高


具体代码如下(color组件的color相等即为元素相等):

        原函数:

来源:易剑终情

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月11日
下一篇 2021年7月11日

相关推荐