宝石迷阵下一个最佳珠宝选择


9

有没有我可以使用的游戏设计技术,这样我就可以完全消除“不再留左手”的情况。即。游戏中不应包含任何不可能的场景。

据我猜测,这完全取决于3或4个珠宝组溶解后所用的珠宝和位置。

可能吗 ? An always infinitely solvable Bejewelled game?


2
将所有珠宝制成蓝色
2012年

+1个好问题。为此,应该有一个相当复杂的解决方案,具体取决于您产生了多少新宝石。
ashes999 2012年

@ ashes999:谢谢,但是到目前为止,仅有两个想法,我认为可以通过1.)暴力检查和基于可预见的暴力计算来添加珠宝,以消除这种非法情况; 2。)介绍类似炸弹或超级立方体,与周围的任何珠宝相互作用,从而在电路板上产生巨大的破坏。
毗湿奴(Vishnu)

Answers:


1

创建无尽的宝石迷阵游戏当然是可能的。PopCap自己使用了最新的“宝石迷阵3”(此模式称为“禅宗模式”)。

首先,您需要确保首次生成电路板时至少有一个有效的动作

每当玩家移动时,您都必须计算最终的棋盘并搜索有效的移动。如果找不到,则必须控制将生成的宝石以恢复有效的木板。由于(至少)一步移动将移除3个宝石,并且您必须生成3个替换宝石,因此您可以确保这3个替换宝石将与当前板一起形成另一次有效移动。实现了无尽模式。

当然,将新棋子与新宝石一起出现并不理想,但这是始终确保棋盘可玩性的一种廉价方法。由于创建有效的举动实际上意味着交换宝石的位置,因此不久就可以进行其他动作了。

如前所述,炸弹和清除棋盘很大部分的其他方法将为游戏增加更多多样性,但并不需要确保无休止的模式。


4

是。实际上这是可能的。这不是停顿问题的情况,因为情况已定义,不是任意的。要回答这个问题,必须回答两个部分。首先,如果可以找到解决方案,第二,总会找到有效的解决方案。

第一部分是如何找到一组能产生可玩棋盘的替换瓷砖(宝石)。这可以通过蛮力方法来实现,只需检查每一个可能的替换集,直到遇到可玩的替换集(也将有更多最佳的非蛮力方法)。

第二部分是确定是否总会有替换组来产生可玩的组。一步移动的任意一组瓷砖将是三张瓷砖的集合的超集,因此,如果在最小的情况下仅移除三张瓷砖,如果总能找到一个可玩的瓷砖,那么对于所有可能的已移除瓷砖模式将有一个可玩的集合,因为它将包含三个已删除图块的每组的所有解决方案,这是已删除图块的子集。

在仅清除一行/列中的三个图块的最小情况下,一个替换集包含两个类型为A的图块,并由类型B的图块分隔开(其中,类型A是在三个已清除集合中的图块上方或下方的图块类型)如果是三列的话,或者如果是三列的话则是在左边或右边)。这将产生一个举动,将这三个图块的中心与相应的A图块交换,将产生一组三个。这表明始终可以找到一组图块,它们将沿着清除原始图块的列/行产生有效的移动。将限制未来移动到该列或行,虽然是无限可玩游戏的有效解决方案,但并不是很有趣。但是使用所有常见的宝石风格游戏的规则,很容易表明,总会有一个解决方案,该解决方案也允许在该行/列之外进行移动。假设我们放入三个A类型的图块,其中A是已删除的三个集合中上/下/左/右的图块之一。这将产生一个“炸弹”样式的图块,当删除该图块时将清除该区域。如果我们随后放下另一组替换瓷砖,导致与该炸弹相匹配,则将清除一块瓷砖。该区域将在其他行中包含3个图块子集,这意味着将来的移动不必限于单个行/列。这将产生一个“炸弹”样式的图块,当删除该图块时将清除该区域。如果我们随后放下另一组替换瓷砖,导致与该炸弹相匹配,则将清除一块瓷砖。该区域将在其他行中包含3个图块子集,这意味着将来的移动不必限于单个行/列。这将产生一个“炸弹”样式的图块,当删除该图块时将清除该区域。如果我们随后放下另一组替换瓷砖,导致与该炸弹相匹配,则将清除一块瓷砖。该区域将在其他行中包含3个图块子集,这意味着将来的移动不必限于单个行/列。


一次只能旋转120度,对吧?那么,如果您显示的棋盘(由于先前的举动)在棋盘其他位置具有可计分的分布,并且需要从新放置的方块中进行5步移动,并且玩家首先点击了错误的东西,会发生什么
Clockwork-Muse 2012年

旋转120度?宝石迷阵不涉及轮换。您是否在想着“ 宝石迷阵的扭曲”
马修·R

抱歉,不,我在想Hexic。但是,如果有足够不同的宝石,则有可能进入这样一种情况,即引擎必须每次都生成一个匹配的三重奏以允许连续播放(因为没有其他分数)。可能会很有趣,但不是很可玩。
Clockwork-Muse

您将始终能够生成三个相同样式的替换集,这些替换类型与该集合的左侧/右侧或顶部/底部的区块相同,这将创建一个更大的集合,然后将其删除。这意味着最终可以删除原始图块的行或列中的所有图块。在大多数宝石风格的游戏中,较大的棋盘会生成特殊的图块,这些图块会清除区域或所有给定图块类型。可以根据需要进行级联,以清除足够的图块,从而无论棋盘的初始状态如何都可以生成可玩的棋盘。
马修·R

3

您已经提到了计算机科学中的停顿问题

给定对任意计算机程序的描述,我们能否推断出它会在某个时刻停止还是永远运行?有一个原因将其称为“问题”。

简短的答案是:不,您不能保证“宝石迷阵”游戏永远不会有任何非法举动。因为要保证将花费无限的计算时间。


4
仅供参考,停顿的问题表明,不可能解决所有问题,而不是全部解决。对于这个特定的问题,我认为您做不到(或者游戏会非常简单,例如2种颜色和3 * 3的网格),像这样的“标准尺寸”游戏中可能有太多的路径。
Valmond 2012年

1
仅供参考:当前一代的《宝石迷阵》游戏(来自PopCap)具有无限模式...因此,它们似乎已成功解决了问题:)它们通过产生新的宝石来保证总能有效地移动,从而保证有效的移动(仅在当前没有可用时适用)。
bummzack 2012年

1
@bummzack:不好意思说你是错的bummzack,但是在流行音乐中流连忘返(我很自豪地说我是经典和速度方面的头号得分手)。经典版本停止显示“ .NO MOVE LEFT”,并给您一个游戏结束的机会。
Vishnu

@ knight666:嗯,我认为这是不可能的,就像Mathew R的另一篇文章一样,当ai预见到可能发生非法情况时,他确实给出了使用炸弹的好主意。
Vishnu

@Vishnu好吧,我写了当前的版本,即Bejeweled 3,这仅适用于无限模式(或Zen模式或其他任何模式)。我知道经典版本中并非如此……
bummzack
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.