This is an example of depth-first maze generation. Run it like so to see how a 2-dimensional array turns into a maze when it's explored via a stack in random order.
Just rewrite this yourself. Seriously, it's a fun exercise. Do it in,
like, Lisp or something. But if you want to run this version, save the
maze.rb to your computer and run:
ruby maze.rb 20 20 > maze.html && open maze.html