Example #1
0
int entityPopulate (char entityArray[MAP_SIZE][MAP_SIZE], entity entityInfo[], char mapArray[MAP_SIZE][MAP_SIZE], int playerLevel, int roomWidth, int roomHeight) {
   placePlayer(entityArray, entityInfo, mapArray, roomWidth, roomHeight);
   int monNumber = 1;
   int monMax = randint(5)+1; //has to be at least one monster
   while (monNumber <= monMax) {
      generateMonster(entityArray, entityInfo, playerLevel, monNumber);
      placeMonster (entityArray, entityInfo, mapArray, roomWidth, roomHeight, monNumber);
      monNumber++;
   }
   return monMax;
}
Example #2
0
void Map::generateMap(int level){
	//parse right level
	int maxLevel = stoi(GameConfig::getConfig("maxLevel"));
	level = level % maxLevel;
	if (level == 0) level = maxLevel-1;

	//generate width and height
	this->_mapHeight = rand() % stoi(GameConfig::getConfig("maxHeight")) + stoi(GameConfig::getConfig("minHeight"));
	this->_mapWidth = rand() % stoi(GameConfig::getConfig("maxWidth")) + stoi(GameConfig::getConfig("minWidth"));

	//create objects map
	_map.resize(_mapWidth);
	for (int i = 0; i < _mapWidth; i++)
		_map[i].resize(_mapHeight, NULL);

	//create objects
	//do{
		generateMapBlock(maxLevel - level);
	//} while (checkConnectedMap() == true);

	generateMonster(maxLevel - level);
	generateArtifact(maxLevel - level);
	generateStartEnd();
}