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(); }
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(); }
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; }