msmazes::MemoryMazeMaker Struct Reference
[Core Maze Layer]

#include <msmazes/core/maze/maker_memory.hpp>

List of all members.


Detailed Description

A user that enters a memory maze must visit each cell exactly once, and there is exactly one correct exit from that cell; all other exits return the user to the start of the maze. This Maze Maker is so named because a user of the resulting finite state machine that enters the wrong input must remember the correct order of the previous inputs in order to make further progress.


Model of



Public Types

typedef boost::mpl::void_ DefaultPolicy
typedef boost::mpl::true_ RequiresRandomInputs
typedef boost::mpl::true_ RestartsOnDeadEnd
typedef boost::mpl::false_ BuildsLastVisitedMap

Static Public Member Functions

template<typename MazeStructType, typename Pattern, typename RNGEngine, typename MazePolicy>
void makeMaze (MazeStructType &maze, const Pattern &pattern, RNGEngine &rng_engine, const MazePolicy &policy)


Member Typedef Documentation

typedef boost::mpl::void_ msmazes::MemoryMazeMaker::DefaultPolicy
 

Only one policy is in effect.

typedef boost::mpl::true_ msmazes::MemoryMazeMaker::RequiresRandomInputs
 

Random inputs are required.

typedef boost::mpl::true_ msmazes::MemoryMazeMaker::RestartsOnDeadEnd
 

Dead-end states will be replaced by the starting state.

typedef boost::mpl::false_ msmazes::MemoryMazeMaker::BuildsLastVisitedMap
 

This Maze Maker will not build a last-visited map.


Member Function Documentation

template<typename MazeStructType, typename Pattern, typename RNGEngine, typename MazePolicy>
void msmazes::MemoryMazeMaker::makeMaze MazeStructType &  maze,
const Pattern &  pattern,
RNGEngine &  rng_engine,
const MazePolicy &  policy
[inline, static]
 

Builds the maze and stores the results in the maze object, as defined in the Maze Maker concept. The policy parameter is ignored.


Multi-State Mazes in C++ is hosted by SourceForge.net. Use the Table of Contents for navigation.