有没有我可以使用的游戏设计技术,这样我就可以完全消除“不再留左手”的情况。即。游戏中不应包含任何不可能的场景。
据我猜测,这完全取决于3或4个珠宝组溶解后所用的珠宝和位置。
可能吗 ? An always infinitely solvable Bejewelled game?
有没有我可以使用的游戏设计技术,这样我就可以完全消除“不再留左手”的情况。即。游戏中不应包含任何不可能的场景。
据我猜测,这完全取决于3或4个珠宝组溶解后所用的珠宝和位置。
可能吗 ? An always infinitely solvable Bejewelled game?
Answers:
创建无尽的宝石迷阵游戏当然是可能的。PopCap自己使用了最新的“宝石迷阵3”(此模式称为“禅宗模式”)。
首先,您需要确保在首次生成电路板时至少有一个有效的动作。
每当玩家移动时,您都必须计算最终的棋盘并搜索有效的移动。如果找不到,则必须控制将生成的宝石以恢复有效的木板。由于(至少)一步移动将移除3个宝石,并且您必须生成3个替换宝石,因此您可以确保这3个替换宝石将与当前板一起形成另一次有效移动。实现了无尽模式。
当然,将新棋子与新宝石一起出现并不理想,但这是始终确保棋盘可玩性的一种廉价方法。由于创建有效的举动实际上意味着交换宝石的位置,因此不久就可以进行其他动作了。
如前所述,炸弹和清除棋盘很大部分的其他方法将为游戏增加更多多样性,但并不需要确保无休止的模式。
是。实际上这是可能的。这不是停顿问题的情况,因为情况已定义,不是任意的。要回答这个问题,必须回答两个部分。首先,如果可以找到解决方案,第二,总会找到有效的解决方案。
第一部分是如何找到一组能产生可玩棋盘的替换瓷砖(宝石)。这可以通过蛮力方法来实现,只需检查每一个可能的替换集,直到遇到可玩的替换集(也将有更多最佳的非蛮力方法)。
第二部分是确定是否总会有替换组来产生可玩的组。一步移动的任意一组瓷砖将是三张瓷砖的集合的超集,因此,如果在最小的情况下仅移除三张瓷砖,如果总能找到一个可玩的瓷砖,那么对于所有可能的已移除瓷砖模式将有一个可玩的集合,因为它将包含三个已删除图块的每组的所有解决方案,这是已删除图块的子集。
在仅清除一行/列中的三个图块的最小情况下,一个替换集包含两个类型为A的图块,并由类型B的图块分隔开(其中,类型A是在三个已清除集合中的图块上方或下方的图块类型)如果是三列的话,或者如果是三列的话则是在左边或右边)。这将产生一个举动,将这三个图块的中心与相应的A图块交换,将产生一组三个。这表明始终可以找到一组图块,它们将沿着清除原始图块的列/行产生有效的移动。将限制未来移动到该列或行,虽然是无限可玩游戏的有效解决方案,但并不是很有趣。但是使用所有常见的宝石风格游戏的规则,很容易表明,总会有一个解决方案,该解决方案也允许在该行/列之外进行移动。假设我们放入三个A类型的图块,其中A是已删除的三个集合中上/下/左/右的图块之一。这将产生一个“炸弹”样式的图块,当删除该图块时将清除该区域。如果我们随后放下另一组替换瓷砖,导致与该炸弹相匹配,则将清除一块瓷砖。该区域将在其他行中包含3个图块子集,这意味着将来的移动不必限于单个行/列。这将产生一个“炸弹”样式的图块,当删除该图块时将清除该区域。如果我们随后放下另一组替换瓷砖,导致与该炸弹相匹配,则将清除一块瓷砖。该区域将在其他行中包含3个图块子集,这意味着将来的移动不必限于单个行/列。这将产生一个“炸弹”样式的图块,当删除该图块时将清除该区域。如果我们随后放下另一组替换瓷砖,导致与该炸弹相匹配,则将清除一块瓷砖。该区域将在其他行中包含3个图块子集,这意味着将来的移动不必限于单个行/列。
您已经提到了计算机科学中的停顿问题。
给定对任意计算机程序的描述,我们能否推断出它会在某个时刻停止还是永远运行?有一个原因将其称为“问题”。
简短的答案是:不,您不能保证“宝石迷阵”游戏永远不会有任何非法举动。因为要保证将花费无限的计算时间。