珠宝迷阵棋盘生成

3

最近我遇到了这个问题:

如何生成Bejeweled游戏的棋盘,以确保在开始时没有宝石会立即坍塌,而且至少有一个可行的移动

我一直在考虑以随机方式生成棋盘,如果它们希望掉落,我们在实际显示棋盘之前让它们掉落,并说没有任何可移动的概率非常低,所以我们不应该担心它。是否有更好的方法?


1
只使用两种颜色来制作棋盘图案怎么样? - Sneftel
@Sneftel的回答已经足以满足最低要求。您是否还有其他偏好需要添加到这些要求中? - BlackVegetable
这会让游戏在开始时变得重复和太容易,我们不希望出现这种情况吧 ;) 不过,就目前而言,这是一个有效的答案 :) - darenn
仅仅确保存在一个有效的移动是不够的,你需要确保会有一系列的移动接踵而至。如果你的棋盘只有一个有效的移动,然后就结束了,那么玩家很可能不会再玩下去了。 - Geobits
@Geobits 很有趣,我玩过几个宝石迷阵游戏,其中完全随机的宝石掉落,有时会导致没有立即匹配。 - BlackVegetable
1个回答

4

一种贪心的方法是在生成棋盘时,每次添加随机宝石时,只需检查水平和垂直方向上前两个宝石是否不相同,以防止第一种情况发生(请记住边界条件)。

为确保您拥有N个匹配项,在生成后,可以获取一个随机点,并将宝石更新到两侧或上下,以确保存在可能的匹配项,同时确保第一种情况不会发生。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接