maze generation
- To: mathgroup at smc.vnet.net
- Subject: [mg131468] maze generation
- From: Sarah Brent <sbrent.physics at gmail.com>
- Date: Fri, 12 Jul 2013 02:49:37 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
Hello All, I am trying to get out an array of all the deleted walls from this maze generation code. Can't seem to make it work, when I ask it to print it will only give me the entire maze grid, and not the specific walls I'm asking for. MazeGen2[m_, n_] := Block[{$RecursionLimit = Infinity, unvisited = Tuples[Range /@ {m, n}], maze, mazearray = {}, mazeA}, (*unvisited=Delete[unvisited,{{1},{2},{Length[ unvisited]-1},{Length[unvisited]}}];*) (*Print[unvisited];*) maze = {{{{#, # - {0, 1}}, {#, # - {1, 0}}}} & /@ unvisited, {{{0, n - 1}, {0, 0}, {m - 1, 0}}}};(*This generates the grid*) Print[maze]; {unvisited = DeleteCases[unvisited, #]; (*Print[unvisited];*) Do[ If[MemberQ[unvisited, neighbor], maze = DeleteCases[ maze, {#, neighbor - {1, 1}} | {neighbor, # - {1, 1}}, {5}] (*mazeA=Flatten[AppendTo[mazearray, maze]];*) ; #0@neighbor], {neighbor, RandomSample@{# + {0, 1}, # - {0, 1}, # + {1, 0}, # - {1, 0}}} ] } &@RandomChoice@unvisited; Flatten[maze] ]; Thanks!