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!