Problem wygląda następująco. Utworzyłem sobie generator mapy, który wygląda następująco*

 #include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;

const int MAX = 15;
char plansza[15][15];
const char znaki[3] = {'#', '.', 'A'};

void rysuj()
{	
	for(int i = 0; i<14; i++)
	{
		for(int j = 0; j<14; j++)
		{	
			cout<<plansza[i][j];
		}
		cout<<endl;
	}
}
void generuj(char tab[MAX][MAX])
{	
	srand( time( NULL ) );
	for(int i = 0 ; i<15; i++)
	{
		for(int m = 0 ; m<15 ;m++)
		{	
			tab[i][m] = znaki[(rand()%3)];
		}
	}
}



int main()
{
	generuj(plansza);
	rysuj();
	system("pause");
	return 0;
}

I pojawia się następujący problem, otóż losuje się nawet zbyt losowo niż bym chciał. Chciałbym jednak, żeby na mapie był jakiś porządek, a nie "śmietnik". I o to właśnie pytam. Jak uporządkować to w jakieś biomy? Ostatnio widziałem jak ktoś dodawał linka do pracy magisterskiej, ale dla mnie nie było to wielką pomocą, bo gra jest konsolowa, a teoria wiele mi tutaj nie pomaga, bo dotyczy gier graficznych.
Od razu mówię, że automaty komórkowe itd. raczej nie wchodzą w grę, bo nie mam na tyle umiejętności, żeby zaimplementować do gry coś takiego :).

*tak, wiem, wiem

system("pause");

i te sprawy, ale to jest taki "prototyp" programu, który stworzyłem chcąc sprawdzić, czy działa, w grze tego nie ma, ale szybciej w takim małym programie jest jednak użyć systemowych komend.

EDIT:
Więc założenia są dosyć proste i tutaj faktycznie ich nie zamieściłem, bo to tylko prototyp - za co przepraszam :).
To tak:
Chciałbym, żeby losowały się jeziora i rzeki jako kilka znaków logicznie połączonych, a nie tylko losowo porozmieszczanych. Najlepiej byłoby gdyby można było ustalić mniej więcej proporcje generowania świata tzn. chodzi o to, żeby rzek było mniej niż terenu po którym się "chodzi".
No i w późniejszych wersjach chciałem zrobić losowanie biomów, bo gra ma być taką strategią, w której można będzie stawiać budynki do wydobywania surowców itd. No, ale do tego dojdę już sam kiedy będę wiedział jak można uporządkować losowanie elementów.