17 #ifndef CAVE_MAP_GENERATOR_HPP_INCLUDED
18 #define CAVE_MAP_GENERATOR_HPP_INCLUDED
25 #include <boost/optional.hpp>
26 #include <boost/random.hpp>
54 std::set<map_location>
locs;
89 boost::random::mt19937
rng_;
std::string create_map(boost::optional< boost::uint32_t > randomseed=boost::none)
Creates a new map and returns it.
t_translation::tstarting_positions starting_positions_
boost::bimaps::bimap< boost::bimaps::set_of< std::string >, boost::bimaps::multiset_of< coordinate >> tstarting_positions
config create_scenario(boost::optional< boost::uint32_t > randomseed=boost::none)
std::map< std::string, size_t > chamber_ids_
std::vector< passage > passages_
std::string config_name() const
Return a friendly name for the generator used to differentiate between different configs of the same ...
std::string name() const
Returns a string identifying the generator by name.
GLint GLint GLint GLint GLint GLint y
t_translation::t_map map_
Definitions for the interface to Wesnoth Markup Language (WML).
cave_map_generator_job(const cave_map_generator ¶ms, boost::optional< boost::uint32_t > randomseed=boost::none)
std::vector< std::vector< t_terrain > > t_map
t_translation::t_terrain keep_
const cave_map_generator & params
passage(map_location s, map_location d, const config &c)
void place_chamber(const chamber &c)
void place_passage(const passage &p)
t_translation::t_terrain village_
t_translation::t_terrain clear_
A terrain string which is converted to a terrain is a string with 1 or 2 layers the layers are separa...
void place_castle(int starting_position, const map_location &loc)
Encapsulates the map of the game.
std::set< map_location > locs
void build_chamber(map_location loc, std::set< map_location > &locs, size_t size, size_t jagged)
size_t translate_x(size_t x) const
size_t translate_y(size_t y) const
bool on_board(const map_location &loc) const
Game configuration data as global variables.
GLint GLint GLint GLint GLint x
t_translation::t_terrain wall_
void set_terrain(map_location loc, const t_translation::t_terrain &t)
std::vector< chamber > chambers_
t_translation::t_terrain castle_
A config object defines a single node in a WML file, with access to child nodes.
cave_map_generator(const config &game_config)
GLsizei const GLcharARB ** string
boost::random::mt19937 rng_