Android - 一种递归检查地图是否可解的算法

我正在制作一个 android Hashikawekero益智游戏,我已经实现了一种算法来使用二维数组在随机位置生成节点(岛屿),这工作正常,它在随机位置创建节点,但大多数时候地图无法解决。地图节点随机生成。

BoardCreation.java 类 - 这将生成地图。

在生成节点之前,我可以使用什么算法来确保可以解决地图(与桥梁相连的岛屿)。

这就是地图的样子(不要介意设计)


http://img3.mukewang.com/60c1668a00013c3c03650690.jpg

慕村9548890
浏览 108回答 1
1回答

Helenr

需要考虑的一件事是从一块空白板开始。放置一个岛。然后放置另一个可以连接到第一个岛的岛(即在四个基本方向之一上)。用桥连接两者,并增加每个岛的计数。现在,选择两个岛屿中的一个并放置另一个可以连接的岛屿。添加桥和增量。以这种方式继续,直到您放置了要放置的岛屿数量。这里的美妙之处在于您从一个空板开始,并且在构建期间该板始终有效。您必须确保在放置新岛屿时不会过桥,但这很容易,因为您知道现有桥梁的位置。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java