Swift - 生成随机路径

时间:2015-02-04 19:32:40

标签: swift random path maze

我正在尝试创建一个简单的迷宫,它将基于网格,5x9(对于iphone 5)迷宫将使用简单的白色方块(路径)和黑色方块(墙壁)制作。如何生成一个代码,使路径完全随机,但总是可以通过。提前谢谢。

1 个答案:

答案 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] =真。按如下方式敲下一些墙来构建迷宫:

  1. 从较低级别的单元格(1,1)开始。
  2. 随机找一个你还没去过的邻居。
  3. 如果找到一个,移动到那里,撞墙。如果您找不到,请返回上一个单元格。
  4. 重复步骤2和3,直到您进入网格中的每个单元格。
  5. 来源: http://algs4.cs.princeton.edu/41undirected/

    可以在以下位置找到Swift实现: https://github.com/lucaslouca/swift-mazes

相关问题