libcoyotl - A Library of C++ Tools

Created by Scott Robert Ladd at Coyote Gulch Productions.


maze_recursive.h
00001 //---------------------------------------------------------------------
00002 //  Algorithmic Conjurings @ http://www.coyotegulch.com
00003 //
00004 //  maze_recursive.h (libcoyotl)
00005 //
00006 //  Maze generation and exploration tools
00007 //-----------------------------------------------------------------------
00008 //
00009 //  Copyright 1990-2005 Scott Robert Ladd
00010 //
00011 //  This program is free software; you can redistribute it and/or modify
00012 //  it under the terms of the GNU General Public License as published by
00013 //  the Free Software Foundation; either version 2 of the License, or
00014 //  (at your option) any later version.
00015 //  
00016 //  This program is distributed in the hope that it will be useful,
00017 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019 //  GNU General Public License for more details.
00020 //  
00021 //  You should have received a copy of the GNU General Public License
00022 //  along with this program; if not, write to the
00023 //      Free Software Foundation, Inc.
00024 //      59 Temple Place - Suite 330
00025 //      Boston, MA 02111-1307, USA.
00026 //
00027 //-----------------------------------------------------------------------
00028 //
00029 //  For more information on this software package, please visit
00030 //  Scott's web site, Coyote Gulch Productions, at:
00031 //
00032 //      http://www.coyotegulch.com
00033 //  
00034 //-----------------------------------------------------------------------
00035 
00036 #if !defined(LIBCOYOTL_MAZE_RECURSIVE_H)
00037 #define LIBCOYOTL_MAZE_RECURSIVE_H
00038 
00039 #include "maze.h"
00040 #include "prng.h"
00041 
00042 namespace libcoyotl
00043 {
00045 
00049     class recursive_maze_architect : public libcoyotl::maze::architect
00050     {
00051     public:
00053 
00058         recursive_maze_architect(prng & a_prng)
00059             : m_prng(a_prng) // initialize random number generator
00060         {
00061             // nada
00062         }
00063 
00064 
00066 
00070         virtual void create_floor_plan(libcoyotl::maze & a_target);
00071 
00072     private:
00073         // random number generator
00074         prng & m_prng;
00075     };
00076 }
00077 
00078 #endif

© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.