【屠龙之技】论消除规则

更新时间2019/9/41.4 万浏览攻略
召唤与合成本质上是一个三消游戏,然而很遗憾的是,至今为止,没有人对召合的三消规则作出一个系统的论述。当然,是因为机制过于复杂了。
我不清楚【揭示机制】这样的做法会不会带来什么不好的后果,如果官方认为不妥,可以删除。
如果有一天我觉得内容造成了不好的影响,我也会果断删除。
本贴中的内容均是原创研究,如果需要转载、引用,请务必注明出处和作者(taptap,林木甜)。
在此,我希望作出第一步的尝试,来解决消除中最为扑朔迷离的一个问题——在掉落、补充后,如沙盘上存在可以消除的情况,消除的具体规则是什么呢?
这个问题很久以来都是悬而未决的,半年多前,在 关于编程求解消除王最大解的尝试(by:wallknight)一贴中,wall-knight总结出了一个简单的结论,对于简单的n个格子(n>=3)组成的横向、斜向、纵向消除块,以横向的左数第二格,斜向和纵向的从上往下第二格为消除点,在消除点出产生一个+(n-3)的绿怪,其余点的怪物被消掉。如下图的4种情况都会在粗边框格子中产生一个+1的绿怪,其余被消除。
TapTap
这一结论是正确的,然而对于复杂形状的消除块,当时还并没有通用的可以解释的规则。
比如下图中左上相连的11只呆二龙,居然在(1,2)和(4,2)分别生成了一个+1和一个+4的绿怪,到底发生了什么?
TapTap
TapTap
在几个月内,我收集了大量的例子,并在近期才终于逐渐找到一个能和所有例子符合的规则。
具体步骤是:
1.准备一个与原始沙盘相同大小的空沙盘;(一个二维数组,不妨称之为 match[][] )
2.从上到下,从左到右遍历每一个格子中能否消除:依次判断向上、向左上、向右上、向左。(均延伸两格,共三格)
3.若能消除,将这三个格子对应的match数组赋予一个消除块序号,但如果同时这三个格子中有任一格子已经存在序号了,则赋予这个旧的序号,优先级为:相邻格子>最远格子>本身;
4.生成新的消除块序号的中间一格即为消除点,在match数组中具有同一序号的n个格子被消除,并在消除点出产生一个+(n-3)的下一形态的怪物。
以例子具体解释,上面的呆二龙消除块大致是这样:
TapTap
我们在(1,3)处时向左是第一个可以消除的地方,这时第一行的三个都被赋予了序号1;
且(2,1)是序号1的消除点!
遍历到(3,1)时,由于远端已经存在序号1,因此(1,1)、(2,1)、(3,1)均被赋序号1;
TapTap
注意(3,3)向上、左上、右上、左延伸都是不能消除了,遍历到(5,1)时,右上延伸产生了一个新的序号2,(4,2)是它的消除点!
TapTap
遍历到(5,3)时,左上延伸是可以消除的,注意远端是1,近端是2,优先级近端>远端>自身,因此(3,1)被覆盖为2!后面的就不具体说了,很简单:
TapTap
最后,发现序号1共4格,生成+1绿怪;序号2共7格,生成+4绿怪。与实际情况相符。
总的来说,这是一个屠龙之技,实际消除中,人类很难计算到这一地步,这种复杂的情况出现的几率也并不高。但是满足好奇心也是一种成果嘛。
多放几个例子给大家观赏一下吧
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
评论53
只看作者
最热
TapTap
写下你的想法...
我了个嘿
技术帝
林木甜
不是技术帝,是靠坚持不懈、日复一日的收集和思考
我了个嘿
也是技术,绝大多数人想不到
去尘
去尘
似懂非懂,我知道你什么意思。但我说不出来。
[嗒啦啦2_托腮][嗒啦啦2_托腮][嗒啦啦2_托腮]
这么费脑子的事我不干,随缘消除好了
该用户已注销
这种环境里你解构这些东西显然白费力。
林木甜
我只是喜欢做这种事情罢了。
弥祸星
这是在还原算法鸭,平时玩只总结了3-5之间的消除机制,感觉多了也用不到,毕竟实际游戏中追求一个连锁消除的爽快感,如果单步消除思考的时间太多会降低爽感
段无不善人
为爽快感点赞
KBA丶sad
标数字的方块移入的方块吗,但是这个三个相同图形在一起就会消除,所以不可能出现上面的天然图形,只有在补充的时候出现然后被瞬间消除。
可是补充的方块是未知的……想要做到这个的话,只有可以知道补充的时候可以。
那就是!我是消除王。
神仙之战,怕了
林木甜
讨论的就是补充之后的消除呀,交换之后的消除规则过于简单(交换点就是消除点)所以直接略过了。
至于补充,消除王的补充队列是固定的,补充规则略有一些地方没有弄清楚,但是大体上的规则是可以确定的。
实际上,我已经可以用程序来模拟整个过程了,但是目前没有一个好的策略来最大化消除王的分数,毕竟穷举可能要花个几年时间……简单策略还并不能达到人类水平。
KBA丶sad
竖消不是会掉到底吗,而不是在交换点
全部 3 条回复
乐观家族
我是谁?我在哪?我要干什么?
爱的彼方
我在吃饭啊,害我笑喷了,因为我跟你的感受是一样的😂
mr.cat
虽然看懂了,但是我碎片化的游戏时间导致没有那么多的时间成本去完成每一步思索,一把25分钟的战旗如果这么算,最少得打一个钟头…
林木甜
所以说是屠龙之技呀
村民
没看动,这就很难受了,对上懂的人就输一截了
林木甜
并不,这个过程的预测,不是人力可及。
村民
😂
少女侥幸活至今
好厉害,感谢楼主~
林木甜
2333,谢谢编辑小姐姐
硕哥威武
借楼询问一下,为什么我发的帖子是403呀????也没什么违规的呀-_-#
今晚修仙麼
俺不太懂,我只是凭感觉消除
107
141
53