diff --git a/Terrain.pde b/Terrain.pde deleted file mode 100644 index 9da563e..0000000 --- a/Terrain.pde +++ /dev/null @@ -1,113 +0,0 @@ -class Terrain { - ArrayList < Block > blocks = new ArrayList<>(); - ArrayList < Bird > birds = new ArrayList<>(); - int terrainLength = 100; - int terrainWidth = 100; - int minTreeHeight = 20; - int maxTreeHeight = 70; - float noiseStep = 0.02; - int cubeWidth = 20; - int cubeLength = 20; - - void generateTerrain() { - for (int i = 0; i < terrainWidth; i++) { - for (int j = 0; j < terrainLength; j++) { - Block block = new Block(i, j, noise(noiseStep * i, noiseStep * j), getRandomTreeColor(), int(random(minTreeHeight, maxTreeHeight))); - blocks.add(block); - if (random(0, 1) < 0.001) birds.add(new Bird(i * cubeWidth, j * cubeWidth, 1000)); - } - } - } - - void reloadTrees() { - for (int i = 0; i < blocks.size(); i++) { - Block block = blocks.get(i); - if ((noiseScale * block.h * cubeSize) > 170) { - if (int(random(0, 101)) < 1) { - block.isTree = true; - block.treeColor = getRandomTreeColor(); - } - else block.isTree = false; - } else block.isTree = false; - - if (!block.isTree && (noiseScale * block.h * cubeSize) > 170) { - if (int(random(0, 101)) < 1) { - block.isFlower = true; - block.treeColor = getRandomFlowerColor(); - } - else block.isFlower = false; - } - else block.isFlower = false; - } - } - - void drawTerrain() { - for (int i = 0; i < blocks.size(); i++) { - Block block = blocks.get(i); - float blockHeight = noiseScale * block.h * cubeSize; - - if (blockHeight < 150) { - fill(0, 0, 255); - blockHeight = 150; - } else if (blockHeight > 150 && blockHeight < 170) { - fill(yellow); - } else if (blockHeight > 350) { - blockHeight *= 1.5; - fill(255, 255, 255); - } else { - fill(green); - } - - float posX = block.x * cubeWidth; - float posY = block.y * cubeLength; - float posZ = blockHeight / 2.0; - - float angleX = HALF_PI; - float angleY = 0; - - pushMatrix(); - - rotateX(angleX); - rotateY(angleY); - translate(posX, posY, posZ); - box(cubeWidth, cubeLength, blockHeight); - - if (block.isTree && blockHeight < 350) { - fill(222, 184, 135); - translate(0, 0, posZ + 50); - box(cubeWidth, cubeLength, 100); - translate(0, 0, 50); - fill(block.treeColor); - noStroke(); - sphere(block.treeSize); - stroke(1); - } else if (block.isTree) { - fill(222, 184, 135); - translate(0, 0, posZ + 50); - box(cubeWidth, cubeLength, 100); - translate(0, 0, 50); - fill(0, 100, 0); - noStroke(); - cylinder(50, 1, 100, 50); - stroke(1); - } - - if (block.isFlower && blockHeight < 350) { - fill(0, 200, 0); - translate(0, 0, posZ + 10); - box(5, 5 , 20); - translate(0, 0, 10); - fill(block.treeColor); - noStroke(); - sphere(10); - stroke(1); - } - popMatrix(); - } - for (int i = 0; i < birds.size(); i++) { - Bird bird = birds.get(i); - bird.drawBird(); - } - - } -}