我正在尝试创建一个简单的迷宫,它将基于网格,5x9(对于iphone 5)迷宫将使用简单的白色方块(路径)和黑色方块(墙壁)制作。如何生成一个代码,使路径完全随机,但总是可以通过。提前谢谢。
答案 0 :(得分:0)
考虑一个NxN网格的单元格,每个单元格最初在它与其四个相邻单元格之间有一条墙。 对于每个单元格(x,y),保持变量up [x,y]如果存在墙分隔(x,y)和(x,y + 1)则为真。 保持相应墙的[x,y],向下[x,y]和右[x,y]的类似变量。
请注意,如果(x,y)上方有一个墙,则向上[x,y] =向下[x,y + 1] =真。按如下方式敲下一些墙来构建迷宫:
来源: http://algs4.cs.princeton.edu/41undirected/
可以在以下位置找到Swift实现: https://github.com/lucaslouca/swift-mazes