Created by Scott Robert Ladd at Coyote Gulch Productions.
Defines the data structure of a maze. More...
#include <maze.h>
A maze object contains the definition of a rectangular maze, including dimensions, wall placement, and entrance and exit locations. The maze class does not include intrinsic support for rendering images or genetic algorithms; instead, it contains a generated set of tables used by algorithms implementing those features. As such, the class implements a variety of interrogation functions meant to provide read-only access to internal data.
libcoyotl::maze::maze | ( | const maze & | a_source | ) |
Creates a new maze with a state matching an existing maze.
a_source | - Source object |
virtual libcoyotl::maze::~maze | ( | ) | [virtual] |
Destroys a maze objet and releases all of its resources.
libcoyotl::maze::maze | ( | size_t | a_width, |
size_t | a_height | ||
) | [protected] |
This constructor sets parameters, and then calls construct to allocate memory and assign default walls.
a_width | - Width, in cells, of the new maze |
a_height | - Height, in cells, of the new maze |
void libcoyotl::maze::construct | ( | ) | [protected] |
This constructor creates the raw maze, with all walls solid or closed. It is used by the named constructor generate
void libcoyotl::maze::deep_copy | ( | const maze & | a_source | ) | [protected] |
Performs a deep copy of one maze to another.
a_source | - Source object |
static maze libcoyotl::maze::generate | ( | size_t | a_width, |
size_t | a_height, | ||
architect & | a_architect | ||
) | [static] |
Creates a new maze with the specified dimensions and a floor plan defined by the given architect.
a_width | - Width, in cells, of the new maze |
a_height | - Height, in cells, of the new maze |
a_architect | - Architect to design a floorplan |
cell libcoyotl::maze::get_cell | ( | size_t | a_col, |
size_t | a_row | ||
) | const |
Returns data for a specific cell in a maze.
a_col | - Column of the requested cell |
a_row | - Row of the requested cell |
position libcoyotl::maze::get_entrance_cell_position | ( | ) | const [inline] |
Returns the position of the entrance cell for a maze.
References m_entrance.
position libcoyotl::maze::get_exit_cell_position | ( | ) | const [inline] |
Returns the position of the exit cell for a maze.
References m_exit.
size_t libcoyotl::maze::get_height | ( | ) | const [inline] |
size_t libcoyotl::maze::get_width | ( | ) | const [inline] |
static maze libcoyotl::maze::load | ( | std::istream & | a_source | ) | [static] |
Loads a maze from a binary file created using maze::save.
a_source | - Input stream containing the binary maze |
Sets the state of a new maze to match the state of an existing maze.
a_source | - Source object |
void libcoyotl::maze::read | ( | std::istream & | a_source | ) | [protected] |
Read a maze's data from a binary stream.
a_source | - Input stream containing the binary maze |
void libcoyotl::maze::release | ( | ) | [protected] |
Releases resources allocated to a maze.
void libcoyotl::maze::save | ( | std::ostream & | a_receiver | ) |
Saves a maze to an output stream in binary format. This stream can later be used to reconstitute the maze via the load named constructor.
a_receiver | - Output stream to hold the binary maze object |
© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.