1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
for (int a = 0; a < width; a++) {
for (int b = 0; b < height; b++) {
sf::Sprite square;
square.setTexture(tex);
if (tileMap[a + b*width].temp < 40) {
tileMap[a + b*width].type = Tile::tundra;//Snow for tundra
square.setTextureRect(sf::IntRect(33, 33, 65, 65));
tileMap[a + b*width].load(square);
}
if (tileMap[a + b*width].temp >= 40 && tileMap[a + b*width].rain < 50) {
tileMap[a + b*width].type = Tile::desert;// Yellow for desert
square.setTextureRect(sf::IntRect(0, 33, 32, 65));
tileMap[a + b*width].load(square);
}
if (tileMap[a + b*width].temp >= 40 && tileMap[a + b*width].rain >= 50 && tileMap[a + b*width].rain <= 100) {
tileMap[a + b*width].type = Tile::plains;// Plains
square.setTextureRect(sf::IntRect(33, 0, 65, 32));
tileMap[a + b*width].load(square);
}
if (tileMap[a + b*width].temp >= 40 && tileMap[a + b*width].temp <= 190 && tileMap[a + b*width].rain > 100) {
tileMap[a + b*width].type = Tile::forrest;//Green for Temporate forest
square.setTextureRect(sf::IntRect(0, 0, 32, 32));
tileMap[a + b*width].load(square);
}
if (tileMap[a + b*width].temp > 190 && tileMap[a + b*width].water > 100) {
tileMap[a + b*width].type = Tile::rainForrest;
square.setTextureRect(sf::IntRect(66, 0, 98, 32));
tileMap[a + b*width].load(square);
}
if (tileMap[a + b*width].height < 55) {
tileMap[a + b*width].type = Tile::water;//blue water
square.setTextureRect(sf::IntRect(66, 33, 98, 65));
tileMap[a + b*width].load(square);
}
tileMap[a + b*width].setPos((chunkX * 64 + a)*32, (chunkY * 64 + b)*32);
}
}
}
|