Beispiel #1
0
Map::Map(int randSeed, int exponent, float startValue)
{
	// Get seed for noise
	setRandom(randSeed);
	// Initiate point-map
	this->chunkSize = pow(2, exponent) + 1;// +1 gives the map a mid-point
	seed = startValue;
	ds = new float*[chunkSize];// 33x33, 17x17, etc
	for (int i = 0; i < chunkSize; i++)
	{
		ds[i] = new float[chunkSize];
	}
	chunkSize--;
	// Initiate map
	tiles = new TileClass*[chunkSize];// 32x32, 16x16, etc
	baseTiles = new BaseTile*[chunkSize];
	for (int i = 0; i < chunkSize; i++)
	{
		tiles[i] = new TileClass[chunkSize];
		baseTiles[i] = new BaseTile[chunkSize];
	}

	// Create noise - algorithm usage
	DiamondSquare((startValue * 0.5f), 0.76789f);

	// Create Tile-based map
	CreateTiles();
}
Beispiel #2
0
Map::Map()
{
	// Get seed for noise
	setRandom(1);
	// Initiate point-map
	this->chunkSize = pow(2, 5) + 1;// +1 gives the map a mid-point
	seed = 60.0f;
	ds = new float*[chunkSize];// 33x33, 17x17, etc
	for (int i = 0; i < chunkSize; i++)
	{
		ds[i] = new float[chunkSize];
	}
	chunkSize--;
	// Initiate map
	tiles = new TileClass*[chunkSize];// 32x32, 16x16, etc
	baseTiles = new BaseTile*[chunkSize];
	for (int i = 0; i < chunkSize; i++)
	{
		tiles[i] = new TileClass[chunkSize];
		baseTiles[i] = new BaseTile[chunkSize];
	}

	// Create noise - algorithm usage
	DiamondSquare(30.0f, 0.76789f);

	// Create Tile-based map
	CreateTiles();
}
Beispiel #3
0
int _tmain(int argc, _TCHAR* argv[])
{
	std::srand(time(0));
	MAP terra;
	for (int i = 0; i < 128; i++)
	{
		for (int k = 0; k < 64; k++)
		{
			terra.map[i][k] = 0;
		}
	}
	terra.map[0][0] = std::rand() % 255 /255.0;
	terra.map[0][63] = std::rand() % 255 / 255.0;
	terra.map[127][0] = std::rand() % 255 / 255.0;
	terra.map[127][63] = std::rand() % 255 / 255.0;
	DiamondSquare(0, 0, 64, 128, terra);
	return 0;
}