我必须用Prim算法创建一个迷宫,更准确地说是使用以下算法:(Randomized Prim's algorithm)。 http://en.wikipedia.org/wiki/Maze_generation#Randomized_Prim.27s_algorithm

这个家伙让我烦恼的是,“用来生成六角形迷宫墙的最佳结构是什么?”

编程的初学者如何,也许您已经有更多的经验会知道我指出了一种更合适的结构。

乍一看,我想到了使用矩阵,因为迷宫将具有行X列(例如20x20)number的模式。

有人可以指出我一个结构吗?
我想到了类似的东西:

cell typedef
{
struct cell * above;
struct cell * right_top;
struct cell * lower_right;
struct cell * lower_left;
struct cell * top_left;
struct cell * lower;
} Cell;

最佳答案

1.您应该学习什么是Prim,可以在一些算法书籍或MOOC中学习它。您可以学习DFS,BFS,Prim,这足以解决这个问题。
2.了解Prim之后,您将知道如何设计单元。

在您的代码中:
您只需列出所有方向,重要的是访问它们的顺序和状态。

关于c++ - 使用Prim算法的六角形迷宫,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20985900/

10-09 08:56