最近我遇到了这个问题:
如何生成Bejeweled游戏的棋盘,以确保在开始时没有宝石会立即坍塌,而且至少有一个可行的移动
我一直在考虑以随机方式生成棋盘,如果它们希望掉落,我们在实际显示棋盘之前让它们掉落,并说没有任何可移动的概率非常低,所以我们不应该担心它。是否有更好的方法?
最近我遇到了这个问题:
如何生成Bejeweled游戏的棋盘,以确保在开始时没有宝石会立即坍塌,而且至少有一个可行的移动
我一直在考虑以随机方式生成棋盘,如果它们希望掉落,我们在实际显示棋盘之前让它们掉落,并说没有任何可移动的概率非常低,所以我们不应该担心它。是否有更好的方法?
一种贪心的方法是在生成棋盘时,每次添加随机宝石时,只需检查水平和垂直方向上前两个宝石是否不相同,以防止第一种情况发生(请记住边界条件)。
为确保您拥有N个匹配项,在生成后,可以获取一个随机点,并将宝石更新到两侧或上下,以确保存在可能的匹配项,同时确保第一种情况不会发生。