//forest prototype //Nick Ferro Sept12 2015 float horizon; float treeStart = random(0,width); float treeEnd = 600; float treeSpace = 25; float shade = 175; float x = 0; float len = 60; int state = 0; float a50 =70; float a210 =200; void setup(){ size(640,480); smooth(); background( 100,150,200 ); horizon = height/4; fill( 100,200,100 ); noStroke(); rectMode(CORNER); rect( 0,horizon+50, width,height*3/4 ); } void draw(){ if (state == 1) { x = 0; shade = 175; len = 60; a50 =70; a210 =200; background( 100,150,200 ); fill( 100,200,100 ); noStroke(); rectMode(CORNER); rect( 0,horizon+50, width,height*3/4 ); while (x <= 40){ drawTree(treeStart,250, shade, len); treeStart = random(0,width); a50 =a50-0.5; a210 =a210+.5; shade = shade -3; x=x+1; len = len + 1; } state = 0; } } void drawTree(float treeX, float treeY, float trans, float lenin){ rectMode(CORNER); noStroke(); fill(139,69,19); rect(treeX-5, treeY-a50, 10, lenin); fill(34,139,34); quad(treeX-50, treeY-a50, treeX-25, treeY-100, treeX+25, treeY-100, treeX+50, treeY-a50); quad(treeX-40, treeY-100, treeX-15, treeY-150, treeX+15, treeY-150, treeX+40, treeY-100); triangle(treeX-30, treeY-150, treeX+30, treeY-150, treeX, treeY-a210); noStroke(); //MASK fill(0,trans); rect(treeX-5, treeY-a50, 10, lenin); quad(treeX-50, treeY-a50, treeX-25, treeY-100, treeX+25, treeY-100, treeX+50, treeY-a50); quad(treeX-40, treeY-100, treeX-15, treeY-150, treeX+15, treeY-150, treeX+40, treeY-100); triangle(treeX-30, treeY-150, treeX+30, treeY-150, treeX, treeY-a210); } void keyPressed() { if (key == 'r'){ state = 1; } }