made map generator support up to 9 players

This commit is contained in:
Dave White 2004-04-21 14:06:52 +00:00
parent 0bec75d1b9
commit 86516e276e
3 changed files with 6 additions and 5 deletions

View file

@ -297,7 +297,7 @@ int gamemap::num_valid_starting_positions() const
{
const int res = is_starting_position(gamemap::location());
if(res == -1)
return num_starting_positions();
return num_starting_positions()-1;
else
return res;
}

View file

@ -120,10 +120,8 @@ height_map generate_height_map(size_t width, size_t height,
int x1 = island_size > 0 ? center_x - island_size + (rand()%(island_size*2)) :
int(rand()%width);
std::cerr << "y\n";
int y1 = island_size > 0 ? center_y - island_size + (rand()%(island_size*2)) :
int(rand()%height);
std::cerr << "z\n";
//we have to check whether this is actually a valley
if(island_size != 0) {
@ -977,6 +975,8 @@ std::string default_generate_map(size_t width, size_t height, size_t island_size
}
}
std::cerr << "placing " << castles.size() << " castles\n";
//plonk down the castles.
for(c = castles.begin(); c != castles.end(); ++c) {
const int x = c->x;

View file

@ -114,7 +114,7 @@ void default_map_generator::user_config(display& disp)
villages_rect.y = hillsize_rect.y + hillsize_rect.h + vertical_margin;
landform_rect.y = villages_rect.y + villages_rect.h + vertical_margin;
const int max_players = 8;
const int max_players = 9;
const int right_space = 100;
@ -132,7 +132,6 @@ void default_map_generator::user_config(display& disp)
const int max_height = 200;
const int extra_size_per_player = 2;
slider_rect.y = width_rect.y;
gui::slider width_slider(disp,slider_rect);
width_slider.set_min(min_width+(players_slider.value()-2)*extra_size_per_player);
@ -287,6 +286,8 @@ std::string default_map_generator::create_map(const std::vector<std::string>& ar
std::cerr << "calculated coastal params...\n";
}
std::cerr << "generating map with " << nplayers_ << " players\n";
if(cfg_ != NULL)
return default_generate_map(width_,height_,island_size,island_off_center,iterations,hill_size_,max_lakes,(nvillages_*width_*height_)/1000,nplayers_,*cfg_);
else