• 2019-09-03 23:44:00
  • 5426 views
  • Played game for 3 minutes

【屠龙之技】论消除规则

Choice 攻略

召唤与合成本质上是一个三消游戏,然而很遗憾的是,至今为止,没有人对召合的三消规则作出一个系统的论述。当然,是因为机制过于复杂了。

我不清楚【揭示机制】这样的做法会不会带来什么不好的后果,如果官方认为不妥,可以删除。
如果有一天我觉得内容造成了不好的影响,我也会果断删除。
本贴中的内容均是原创研究,如果需要转载、引用,请务必注明出处和作者(TapTap,林木甜)。

在此,我希望作出第一步的尝试,来解决消除中最为扑朔迷离的一个问题——在掉落、补充后,如沙盘上存在可以消除的情况,消除的具体规则是什么呢?

这个问题很久以来都是悬而未决的,半年多前,在 关于编程求解消除王最大解的尝试(by:wallknight)一贴中,wall-knight总结出了一个简单的结论,对于简单的n个格子(n>=3)组成的横向、斜向、纵向消除块,以横向的左数第二格,斜向和纵向的从上往下第二格为消除点,在消除点出产生一个+(n-3)的绿怪,其余点的怪物被消掉。如下图的4种情况都会在粗边框格子中产生一个+1的绿怪,其余被消除。
这一结论是正确的,然而对于复杂形状的消除块,当时还并没有通用的可以解释的规则。
比如下图中左上相连的11只呆二龙,居然在(1,2)和(4,2)分别生成了一个+1和一个+4的绿怪,到底发生了什么?

在几个月内,我收集了大量的例子,并在近期才终于逐渐找到一个能和所有例子符合的规则。
具体步骤是:
1.准备一个与原始沙盘相同大小的空沙盘;(一个二维数组,不妨称之为 match[][] )
2.从上到下,从左到右遍历每一个格子中能否消除:依次判断向上、向左上、向右上、向左。(均延伸两格,共三格)
3.若能消除,将这三个格子对应的match数组赋予一个消除块序号,但如果同时这三个格子中有任一格子已经存在序号了,则赋予这个旧的序号,优先级为:相邻格子>最远格子>本身;
4.生成新的消除块序号的中间一格即为消除点,在match数组中具有同一序号的n个格子被消除,并在消除点出产生一个+(n-3)的下一形态的怪物。

以例子具体解释,上面的呆二龙消除块大致是这样:
我们在(1,3)处时向左是第一个可以消除的地方,这时第一行的三个都被赋予了序号1;
且(2,1)是序号1的消除点!
遍历到(3,1)时,由于远端已经存在序号1,因此(1,1)、(2,1)、(3,1)均被赋序号1;
注意(3,3)向上、左上、右上、左延伸都是不能消除了,遍历到(5,1)时,右上延伸产生了一个新的序号2,(4,2)是它的消除点!
遍历到(5,3)时,左上延伸是可以消除的,注意远端是1,近端是2,优先级近端>远端>自身,因此(3,1)被覆盖为2!后面的就不具体说了,很简单:
最后,发现序号1共4格,生成+1绿怪;序号2共7格,生成+4绿怪。与实际情况相符。

总的来说,这是一个屠龙之技,实际消除中,人类很难计算到这一地步,这种复杂的情况出现的几率也并不高。但是满足好奇心也是一种成果嘛。

多放几个例子给大家观赏一下吧

Updated at 2019-09-04 00:46:51

发表回复

技术帝
  • 不是技术帝,是靠坚持不懈、日复一日的收集和思考

  • 也是技术,绝大多数人想不到

这种环境里你解构这些东西显然白费力。
  • 我只是喜欢做这种事情罢了。

点赞!支持楼主!
厉害
  • 嫑逝
  • 7楼
  • Played game for 1994 hours 25 minutes
似懂非懂,我知道你什么意思。但我说不出来。
[嗒啦啦2_托腮][嗒啦啦2_托腮][嗒啦啦2_托腮]
这么费脑子的事我不干,随缘消除好了
  • mr.cat
  • 8楼
  • Played game for 1218 hours 1 minutes
虽然看懂了,但是我碎片化的游戏时间导致没有那么多的时间成本去完成每一步思索,一把25分钟的战旗如果这么算,最少得打一个钟头…
  • 所以说是屠龙之技呀

俺不太懂,我只是凭感觉消除
大佬 真的厉害
好厉害,感谢楼主~
  • 2333,谢谢编辑小姐姐

  • 借楼询问一下,为什么我发的帖子是403呀????也没什么违规的呀-_-#

弱弱的我只能说一句,牛逼
嗯 说的真好 我看懂了😂
  • Dino
  • 14楼
  • Played game for 2 minutes
这是在还原算法鸭,平时玩只总结了3-5之间的消除机制,感觉多了也用不到,毕竟实际游戏中追求一个连锁消除的爽快感,如果单步消除思考的时间太多会降低爽感
没啥用呀,对我这种一天上王者的人
厉害了
太强了,这种规律都能找到。
  • 禽兽狙
  • 19楼
  • Played game for 88 hours 46 minutes
我天啊,真的流弊

  • KBA丶sad
  • 20楼
  • Played game for 350 hours 51 minutes
标数字的方块移入的方块吗,但是这个三个相同图形在一起就会消除,所以不可能出现上面的天然图形,只有在补充的时候出现然后被瞬间消除。

可是补充的方块是未知的……想要做到这个的话,只有可以知道补充的时候可以。
那就是!我是消除王。
神仙之战,怕了
  • 讨论的就是补充之后的消除呀,交换之后的消除规则过于简单(交换点就是消除点)所以直接略过了。

    至于补充,消除王的补充队列是固定的,补充规则略有一些地方没有弄清楚,但是大体上的规则是可以确定的。

    实际上,我已经可以用程序来模拟整个过程了,但是目前没有一个好的策略来最大化消除王的分数,毕竟穷举可能要花个几年时间……简单策略还并不能达到人类水平。

  • 竖消不是会掉到底吗,而不是在交换点

  • 如果你一帧一帧看,会消除于交换点,然后再落下

一脸懵逼的居然把所有文字和图片看完。。打扰了,果然这种帖子不适合我[嗒啦啦2_再见]
我一脸懵。我的脑子感觉就是个装饰用的。
虽然看了估计也不会用,不过还是感谢盆友的帮助
App 内打开

We recommend you to visit TapTap global site. If you still need CN content, you can choose to click Download App.