usage thyme = maze(30,45,'c');
row - number of rows in the maze
col - number of column in the maze
pattern - random(r), vertical(v), horizontal(h), checkerboard(c), spiral(s), burst(b)
Construct graph system for maze. The graph entities are an id for each intersection(id), the physical row(rr) and column(cc) of the intersection, membership to a connected region (state), and a link to adjacent intersections(ptr_up ptr_down ptr_left ptr_right). Prior to "make_pattern" the maze has all of the walls intact and there are row*col of unconnected states. After "make_pattern" some of the
walls are broken down and there is only one connected state for the maze. A broken wall(allowed passage) in some direction is signified by a negative value of the pointer in that direction. A solid wall(unallowed passage) in some direction is signified by a positive value of the pointer in that direction. The absolute value of the pointer is the id of the intersection in that direction.
Rodney Meyer (2020). Maze (https://www.mathworks.com/matlabcentral/fileexchange/6705-maze), MATLAB Central File Exchange. Retrieved .
Inspired: Maze 3D