size( 1220, 940 ); colorMode( HSB, 360, 100, 100 ); smooth(); // cylinder and cone variables float x = 0; float y = 0; float w = 0; float h = 0; int totalSteps = 0; int stepCount = 0; // water variables float cx = 395; float cy = 680; float waterW = 670; float hAx = waterW/2; float waterH = 90; float vAx = waterH/2; float xpos; float ypos; float yEdge; float fillW = 15; float fillH = 4; float noise; // SKY for ( int i = width; i >-1; i -= 1 ) { stroke( 206, i*.0311475, 85 ); line( i, 0, i, height ); } noStroke(); //FAR WATER fill( 174, 10, 50 ); rect( 280, 600, 360, 20 ); stroke( 174, 10, 80, 30 ); strokeWeight( 1 ); noFill(); fillW = 5; fillH = 1; for ( int i = 0; i < 150; i++ ) { xpos = random( 280, 640 ); ypos = random( 600, 620 ); noise = random( 5 ); arc( xpos, ypos, fillW+noise, fillH+noise, 0, 3.1416 ); } // wakes noStroke(); // BIG CHURCH fill( 33, 60, 33 ); quad( 116, 440, 125, 430, 170, 430, 170, 440 ); // roof over back rounded wing fill( 33, 31, 50 ); x = 141; y = 440; w = 50; h = 5; totalSteps = 160; stepCount = 0; while( stepCount < totalSteps ) { ellipse( x, y, w, h ); y += 1; stepCount += 1; } // back rounded wing fill( 33, 60, 33 ); quad( 116, 480, 160, 480, 160, 460, 150, 460 ); // roof over front rounded wing fill( 33, 35, 43 ); x = 141; y = 480; w = 50; h = 5; totalSteps = 120; stepCount = 0; while( stepCount < totalSteps ) { ellipse( x, y, w, h ); y += 1; stepCount += 1; } // front rounded wing fill( 33, 60, 33 ); quad( 160, 450, 170, 430, 450, 430, 460, 450 ); // church main roof x = 255; y = 170; w = 0; h = 0; totalSteps = 80; stepCount = 0; while ( stepCount < totalSteps ) { ellipse ( x, y, w, h ); y += 1; w += .375; h += .125; stepCount += 1; } // church tower cone fill( 33, 9, 93 ); ellipse( 255, 172, 4, 4 ); // top of cone ball fill( 33, 32, 46 ); rect( 160, 450, 300, 150 ); // church main building fill( 33, 31, 50 ); rect( 230, 280, 50, 320 ); // church tower rect( 235, 250, 40, 40 ); // top of church tower ellipse( x, y, w, h ); // bottom of church tower cone fill( 33, 45, 10 ); ellipse( 380, 530, 20, 20 ); // round church window rect( 360, 540, 10, 20 ); // left square church window rect( 390, 540, 10, 20 ); // right square church window fill( 33, 43, 20, 200 ); beginShape(); vertex( 280, 480 ); vertex( 280, 600 ); vertex( 450, 600 ); vertex( 450, 470 ); vertex( 390, 450 ); vertex( 450, 430 ); vertex( 320, 450 ); vertex( 320, 520 ); endShape(); // church shadow fill( 33, 14, 80 ); rect( 440, 570, 30, 10 ); fill( 33, 31, 53 ); rect( 460, 440, 20, 160 ); // right chruch wall part // SMALL CHURCH stroke( 33, 9, 93 ); strokeWeight(3); ellipse( 560, 520, 70, 60 ); // round top of center building part strokeWeight( 3 ); noFill(); triangle( 515, 513, 520, 473, 525, 513 ); // left spire triangle( 555, 488, 565, 488, 560, 440 ); // middle spire triangle( 600, 513, 610, 513, 605, 473 ); // right spire noStroke(); fill( 33, 31, 53 ); rect( 550, 485, 20, 10 ); // square top of round center building part rect( 520, 510, 110, 90 ); // center building part quad( 480, 480, 560, 510, 560, 600, 480, 600 ); // left building part rect( 600, 525, 150, 75 ); // right building part fill( 33, 60, 33 ); triangle( 630, 510, 630, 525, 690, 525 ); rect( 592, 510, 38, 15 ); // roof fill( 39, 41, 27 ); ellipse( 540, 525, 10, 10 ); rect( 535, 525, 10, 20 ); // left top window ellipse( 580, 525, 10, 10 ); rect( 575, 525, 10, 20 ); // top right window ellipse( 560, 545, 10, 10 ); rect( 555, 545, 10, 20 ); // bottom window fill( 33, 43, 20, 200 ); beginShape(); vertex( 480, 480 ); vertex( 480, 600 ); vertex( 610, 600 ); vertex( 610, 550 ); vertex( 580, 540 ); vertex( 570, 495 ); vertex( 560, 520 ); vertex( 550, 493 ); vertex( 537, 500 ); endShape(); // church shadow // BUILDINGS BEHIND BIG CHURCH/TREES fill( 43, 19, 94 ); quad( 90, 500, 116, 510, 116, 560, 90, 560 ); // buildings strokeWeight( 3 ); stroke( 33, 60, 70 ); line( 89, 500, 114, 510 ); // building roofs noStroke(); fill( 115, 35, 20 ); ellipse( 110, 560, 40, 40 ); // bush 2 fill( 115, 34, 40 ); ellipse( 160, 560, 40, 40 ); // bush 4 fill( 115, 35, 30 ); ellipse( 127, 560, 40, 60 ); // bush 3 fill( 115, 30, 15 ); ellipse( 90, 560, 30, 30 ); // bush 1 // WALL AND BUILDINGS IN FRONT OF BIG CHURCH fill( 39 , 25, 92 ); rect( 170, 510, 60, 110 ); // left building fill( 39 , 25, 95 ); rect( 220, 520, 60, 100 ); // right building fill( 33, 85, 30 ); triangle( 170, 510, 230, 510, 200, 495 ); // left roof fill( 33, 85, 34 ); triangle( 220, 520, 280, 520, 250, 505 ); // right roof fill( 33, 59, 73 ); rect( 90, 570, 80, 100 ); // wall in front of trees quad( 170, 590, 280, 620, 280, 670, 170, 670 ); // wall in front of buildings rect( 280, 620, 360, 50 ); // wall in front of water // BACKGROUND BUILDINGS // left bulding behind small church fill( 33, 49, 56 ); rect( 750, 510, 60, 15 ); // back roof fill( 33, 49, 79 ); quad( 720, 525, 740, 500, 740, 510, 730, 525 ); // left roof fill( 33, 46, 64 ); quad( 740, 500, 735, 507, 766, 525, 780, 525 ); // right roof fill( 33, 9, 93 ); triangle( 728, 525, 766, 525, 740, 510 ); // top of building // top of church in distance quad( 780, 490, 790, 489, 790, 525, 780, 525 ); // left side of building fill( 33, 9, 82 ); quad( 790, 489, 790, 525, 798, 525, 798, 490 ); // right side of building // building closest to small church fill( 37, 33, 76 ); triangle( 690, 560, 720, 560, 700, 545 ); // top of face of building rect( 690, 560, 30, 40 ); // face of building fill( 37, 36, 57 ); rect( 720, 560, 30, 40 ); // side of building fill( 37, 67, 33 ); quad( 700, 545, 750, 545, 750, 560, 720, 560 ); // roof // building in front of church in distance fill( 33, 85, 40 ); quad( 750, 525, 750, 570, 780, 570, 780, 560 ); // front of building fill( 33, 83, 26 ); quad( 750, 525, 780, 560, 805, 560, 805, 525 ); // roof fill( 33, 25, 89 ); rect( 780, 560, 25, 10 ); // wall under roof overhang fill( 33, 60, 27, 175 ); triangle( 780, 560, 805, 560, 805, 570 ); // roof shadow // far left back row building fill( 34, 65, 29 ); rect( 640, 580, 60, 10 ); // side of building, bottom triangle( 650, 580, 700, 580, 700, 560 ); // side of building top fill( 34, 87, 33 ); quad( 630, 580, 650, 580, 700, 560, 685, 560 ); // roof // tallest building fill( 30, 96, 41 ); triangle( 920, 440, 1000, 430, 1000, 410 ); // roof fill( 40, 40, 80 ); quad( 920, 440, 920, 490, 1000, 490, 1000, 430 ); // facade fill( 40, 38, 82 ); rect( 990, 420, 10, 70 ); // column // building to right of church fill( 36, 15, 89 ); rect( 810, 490, 40, 10 ); triangle( 810, 490, 850, 490, 830, 480 ); // small upper roof section wall fill( 27, 56, 44 ); quad( 830, 480, 850, 490, 860, 490, 860, 480 ); // small upper roof section roof fill( 27, 67, 53 ); triangle( 920, 500, 880, 480, 840, 500 ); // right side of roof fill( 27, 64, 60 ); quad( 880, 480, 860, 480, 805, 500, 840, 500 ); // left side of roof fill( 36, 27, 89 ); rect( 805, 500, 35, 80 ); //left side of building fill( 36, 27, 75 ); rect( 840, 500, 80, 80 ); // right side of building // building behind boathouse fill( 29, 50, 30 ); triangle( 700, 590, 740, 590, 740, 570 ); // front of building fill( 29, 58, 25 ); rect( 740, 570, 80, 20 ); // side of building // boathouse fill( 43, 23, 88 ); rect( 610, 640, 70, 20 ); // bottom of front of building triangle( 610, 640, 680, 640, 640, 590 ); // top of front of building fill( 43, 72, 22 ); rect( 680, 640, 140, 20 ); // side of building fill( 33, 96, 37 ); quad( 640, 590, 680, 640, 820, 640, 820, 590 ); // roof // lamp posts fill( 42, 45, 80 ); rect( 765, 640, 15, 40 ); // front right fill( 42, 50, 48 ); rect( 780, 640, 20, 40 ); // side right fill( 42, 15, 86 ); triangle( 765, 640, 780, 640, 785, 620 ); // front right top fill( 42, 21, 57 ); triangle( 780, 640, 800, 640, 785, 620 ); // side right top fill( 42, 40, 80 ); rect( 810, 640, 10, 40 ); // front left fill( 42, 22, 83 ); triangle( 810, 640, 820, 640, 820, 630 ); // front left top // building behind closest building fill( 36, 45, 80 ); rect( 820, 520, 50, 200 ); // front of building fill( 36, 46, 66 ); rect( 870, 520, 130, 200 ); // side of building fill( 29, 70, 42 ); triangle( 820, 520, 870, 520, 890, 490 ); // front of roof fill( 29, 78, 34 ); quad( 870, 520, 890, 490, 1000, 490, 1000, 520 ); // side of roof // closest building fill( 37, 25, 75 ); quad( 1000, 590, 1000, 720, 960, 720, 960, 610 ); // side of building fill( 37, 25, 82 ); quad( 860, 610, 960, 615, 960, 720, 860, 960 ); // front building stroke( 37, 21, 91 ); strokeCap( SQUARE ); strokeWeight( 10 ); line( 860, 605, 960, 615 ); //stroke( 37, 88, 17, 100 ); //strokeWeight( 6 ); //line( 860, 613, 960, 623 ); noStroke(); fill( 33, 90, 29 ); quad( 860, 601, 1000, 540, 1000, 590, 960, 611 ); // roof // CLOSE WATER noStroke(); fill( 174, 15, 55 ); ellipse( 395, 680, 670, 90 ); stroke( 174, 10, 80, 80 ); strokeWeight( 1 ); noFill(); fillW = 15; fillH = 4; for( int i = 0; i < 400; i++ ) { noise = random( 5 ); xpos = random( cx - hAx + (fillW/2) + (noise/2), cx + hAx - (fillW/2) - (noise/2) ); if ( xpos <= cx) { yEdge = sqrt( sq(vAx) - ((sq(vAx) * sq((xpos - fillW / 2) - cx)) / sq(hAx))) + cy; }else { yEdge = sqrt( sq(vAx) - ((sq(vAx) * sq((xpos + fillW / 2) - cx)) / sq(hAx))) + cy; } ypos = random( yEdge - 2 * (yEdge - cy) + (fillH / 2) + (noise / 2), yEdge - (fillH / 2) - (noise / 2) ); arc( xpos, ypos, fillW + noise, fillH + noise, 0, 3.1416 ); } noStroke(); // GROUND 1 fill( 36, 50, 76 ); rect( 0, 700, width, height-680 ); // land // THINGS ON GROUND BACK fill( 43, 27, 95 ); x = 300; y = 790; w = 10; h = 20; totalSteps = 30; stepCount = 0; while( stepCount < totalSteps ) { ellipse( x, y, w, h ); x += 1; stepCount += 1; } fill( 43, 37, 95 ); ellipse( x, y, w, h ); // horizontal cylindrical rock noFill(); strokeWeight( 1 ); stroke( 43, 20, 99 ); x = 300; y = 790; w = 10; h = 20; totalSteps = 30; stepCount = 0; while( stepCount < totalSteps ) { arc( x, y, w, h, 1.528, 3.571 ); x += 1; stepCount += 1; } // shading on cylindrical rock noStroke(); fill( 36, 25, 100); quad( 290, 790, 370, 790, 370, 820, 290, 830 ); // rock in front of kneeling worker fill( 35, 40, 100 ); beginShape(); vertex( 410, 780 ); vertex( 500, 780 ); vertex( 500, 820 ); vertex( 390, 820 ); vertex( 390, 810 ); endShape(); // side of rock on shadow edge fill( 35, 15, 100 ); triangle( 390, 810, 410, 780, 395, 780 ); // top of rock on shadow edge fill( 16, 80, 80 ); triangle( 100, 750, 100, 800, 120, 800 ); // woman leaning on house fill( 40, 55, 55 ); triangle( 140, 740, 150, 800, 130, 800 ); // woman near leaning woman fill( 34, 60, 45 ); beginShape(); vertex( 160, 760 ); vertex( 180, 750 ); vertex( 240, 750 ); vertex( 240, 780 ); vertex( 170, 780 ); endShape(); // rock under woman fill( 222, 55, 39 ); triangle( 230, 720, 230, 750, 210, 750 ); // woman on rock // GROUND 2 fill( 36, 63, 25, 175 ); quad( 100, 880, 100, 700, 680, 700, 680, 785 ); //front left building shadow // BOATS N STUFF fill( 40, 32, 52 ); quad( 470, 690, 490, 700, 470, 720, 440, 710 ); // rock on water's edge fill( 23, 48, 20 ); triangle( 150, 700, 190, 700, 210, 670 ); // top of boat 1 fill( 23, 38, 16 ); triangle( 190, 700, 210, 700, 210, 670 ); // side of boat 1 fill( 40, 23, 50 ); quad( 190, 700, 205, 690, 215, 690, 225, 700 ); // dock 1 fill( 24, 52, 25 ); triangle( 240, 700, 270, 700, 300, 670 ); // top of boat 2 fill( 24, 54, 20 ); triangle( 270, 700, 290, 700, 300, 670 ); // side of boat 2 fill( 50, 12, 50 ); quad( 278, 700, 283, 690, 295, 690, 300, 700 ); // dock 2 fill( 22, 70, 22 ); triangle( 300, 690, 320, 690, 310, 700 ); // bottom of boat 3 fill( 51, 15, 56 ); quad( 360, 690, 380, 690, 395, 700, 375, 700 ); // dock 3 // THINGS ON GROUND FRONT fill( 30, 68, 40 ); quad( 560, 750, 640, 790, 640, 720, 600, 725 ); // farthest rock behind barn, front fill( 30, 15, 83 ); triangle( 600, 725, 640, 720, 640, 710 ); // farthest rock behind barn, top fill( 37, 49, 83 ); quad( 540, 750, 620, 750, 620, 790, 550, 790 ); // mid rock behind barn, front fill( 37, 27, 92 ); triangle( 540, 750, 620, 750, 610, 740 ); // mid rock behind barn, top fill( 33, 25, 78 ); quad( 600, 765, 610, 770, 610, 800, 600, 800 ); // close rock behind barn, side fill( 33, 17, 90 ); quad( 600, 765, 610, 770, 640, 765, 640, 755 ); // close rock behind barn, top fill( 33, 51, 31 ); quad( 610, 770, 610, 800, 640, 795, 640, 765 ); // close rock behind barn, front fill( 39, 80, 57 ); triangle( 160, 830, 160, 890, 200, 890 ); // mother, bottom half fill( 164, 22, 50 ); triangle( 160, 830, 180, 820, 180, 860 ); // mother, top half fill( 30, 67, 68 ); triangle( 265, 860, 280, 880, 240, 880 ); // child on ground fill( 226, 10, 30 ); triangle( 310, 880, 310, 920, 290, 920 ); // child standing, top fill( 226, 4, 93 ); triangle( 310, 880, 300, 865, 300, 900 ); // child standing, bottom fill( 39, 40, 95 ); triangle( 460, 790, 450, 840, 450, 800 ); //side of rock behind cylinder fill( 39, 62, 72 ); quad( 460, 790, 450, 840, 540, 840, 540, 790 ); // front of rock behind cylinder fill( 44, 20, 96 ); quad( 550, 810, 570, 780, 600, 790, 600, 810 ); //rock behind rock worker fill( 191, 5, 97 ); triangle( 550, 790, 560, 810, 530, 810 ); // standing rock worker fill( 41, 30, 95 ); quad( 500, 810, 620, 810, 590, 820, 490, 820 ); // top of rock in front of rock worker fill( 41, 49, 88 ); quad( 490, 820, 590, 820, 620, 860, 530, 860 ); // front of rock in front of rock worker fill( 41, 50, 93 ); triangle( 590, 820, 620, 810, 620, 860 ); // side of rock in front of rock worker strokeWeight( 3 ); stroke( 40, 50, 40, 175 ); line( 510, 820, 545, 860 ); // staff shadow noStroke(); fill( 40, 50, 40, 175 ); triangle( 580, 870, 590, 840, 607, 860 ); // shadow of rock near staff fill( 39, 25, 93 ); quad( 540, 840, 590, 840, 580, 870, 530, 870 ); // front of rock near staff fill( 39, 45, 80 ); triangle( 590, 840, 580, 870, 595, 860 ); // side of rock near staff fill( 46, 20, 95 ); rect( 320, 840, 40, 10 ); // small stone near left worker's foot fill( 36, 76, 65 ); triangle( 340, 850, 380, 850, 350, 800 ); // worker kneeling fill( 43, 24, 91 ); x = 460; y = 890; w = 50; h = 20; totalSteps = 60; stepCount = 0; while( stepCount < totalSteps ) { ellipse( x, y, w, h ); y -= 1; stepCount += 1; } // cylindrical rock body noFill(); strokeWeight( 1 ); stroke( 43, 30, 90 ); x = 460; y = 890; w = 50; h = 20; totalSteps = 60; stepCount = 0; while( stepCount < totalSteps ) { arc( x, y, w, h, -0.633, 1.842 ); y -= 1; stepCount += 1; } // cylindrical rock shading noStroke(); fill( 43, 15, 94 ); ellipse( x, y, w, h ); // cylindrical rock top fill( 43, 30, 85 ); ellipse( x, y, w/4, h/4 ); // cylindrical rock hole strokeWeight( 3 ); stroke( 43, 39, 92 ); line( 500, 875, 520, 760 ); // staff noStroke(); // LEFT FRONT BUILDING // structural building fill( 37, 42, 85 ); rect( 0, 160, 90, 480 ); // top section of wall rect( 0, 640, 100, 240 ); // bottom section of wall fill( 31, 83, 47, 200 ); rect( 0, 320, 90, 160 ); // red section of wall fill( 37, 12, 94, 175 ); rect(0, 730, 100, 150 ); //white section of wall fill( 34, 23, 64 ); rect( 0, 160, 90, 10); // under roof decoration fill( 34, 18, 43 ); quad( 0, 140, 110, 140, 90, 160, 0, 160 ); // bottom of roof overhang (left) fill( 34, 18, 38 ); triangle( 110, 140, 90, 200, 90, 160 ); // bottom of roof overhang (right) fill( 184, 2, 89 ); triangle( 0, 80, 80, 120, 0, 120 ); rect( 0, 120, 70, 20 ); // very top of roof stroke( 31, 63, 27 ); strokeWeight(4); strokeCap( SQUARE ); line( -1, 80, 81, 120 ); // top roof shingles noStroke(); x = 60; y = 90; w = 10; h = 5; totalSteps = 40; stepCount = 0; fill( 23, 75, 40 ); while( stepCount < totalSteps ) { ellipse( x, y, w, h ); x -= .125; y -= 1; w += .3; h += .125; stepCount += 1; } // left chimney, top section x = 60; y = 130; w = 10; h = 5; totalSteps = 40; stepCount = 0; fill( 23, 75, 30 ); while( stepCount < totalSteps ) { ellipse( x, y, w, h ); y -= 1; stepCount += 1; } // left chimney, bottom section x = 70; y = 90; w = 10; h = 5; totalSteps = 40; stepCount = 0; fill( 23, 72, 24 ); while( stepCount < totalSteps ) { ellipse( x, y, w, h ); x += .125; y -= 1; w += .3; h += .125; stepCount += 1; } // right chimney, top section x = 70; y = 130; w = 10; h = 5; totalSteps = 40; stepCount = 0; fill( 23, 76, 17 ); while( stepCount < totalSteps ) { ellipse( x, y, w, h ); y -= 1; stepCount += 1; } // right chimney, bottom section fill( 33, 42, 46 ); rect( 50, 125, 30, 15 ); // chimney holder fill(26, 80, 39); triangle( 0, 127, 100, 138, 0, 138); // bottom roof shingles, top stroke( 31, 63, 27 ); strokeWeight(4); line( -1, 138, 100, 138 ); // bottom roof shingles, bottom stroke( 34, 14, 71 ); line( -1, 141, 110, 141 ); //edge of roof overhang noStroke(); fill( 37, 60, 50 ); rect( 0, 640, 110, 10 ); // ledge //stroke( 40, 30, 88 ); fill( 37, 45, 21 ); rect( 0, 200, 30, 100 ); // top window rect( 0, 480, 20, 160 ); // middle window rect( 0, 710, 20, 90 ); // bottom window // shadows fill(41, 70, 20, 200); rect( 40, 210, 30, 100 ); // top shade shadow quad( 40, 480, 60, 520, 60, 640, 40, 640 ); // middle shade shadow beginShape(); vertex(20, 710); vertex(60, 740); vertex(60, 840); vertex( 55, 837 ); vertex( 50, 860 ); vertex( 30, 824 ); vertex( 20, 820 ); endShape(); // bottom shade and coat shadow arc( 30, 650, 40, 30, 0, 3.142 ); // woman in window shadow rect( 0, 650, 100, 10 ); // ledge shadow rect( 2, 650, 20, 35 ); stroke( 41, 42, 40 ); strokeWeight( 5 ); line( 69, 290, 80, 290 ); // window bar shadow // accoutrement noStroke(); fill( 41, 42, 80 ); rect( 30, 200, 30, 100 ); // top shade fill( 41, 47, 75 ); quad( 20, 480, 40, 470, 40, 640, 20, 640 ); // middle shade quad( 20, 710, 40, 715, 40, 805, 20, 800 ); // bottom shade fill( 41, 45, 65 ); quad( 30, 780, 37, 805, 30, 840, 15, 810 ); // coat on bottom shade stroke( 40, 35, 85 ); strokeWeight( 4 ); //strokeCap( SQUARE ); line( 0, 280, 65, 280 ); // top window bar noStroke(); fill( 82, 32, 40 ); ellipse( 85, 620, 30, 30 ); // right bush ellipse( 60, 620, 20, 20 ); // left bush ellipse( 70, 610, 25, 50 ); // center bush fill( 37, 50, 46 ); rect( 45, 620, 60, 20 ); // planter fill( 30, 55, 87 ); quad( 10, 640, 40, 620, 50, 650, 10, 650 ); // woman in window fill( 41, 54, 51 ); rect( 0, 640, 10, 40 ); // cloth on ledge fill( 34, 14, 76 ); for ( int i = 10; i < 90; i += 22 ) { rect( i, 143, 11, 10 ); //roof overhang supports } fill( 41, 49, 77 ); quad( 0, 860, 20, 870, 20, 900, 0, 910 ); // rock in front of building fill( 41, 83, 22, 100 ); beginShape(); vertex( 20, 875 ); vertex( 40, 880 ); vertex( 35, 890 ); vertex( 30, 900 ); vertex( 0, 915 ); vertex( 0, 910 ); vertex( 20, 900 ); endShape(); // rock shadow // CHIMNEY SET OF THREE fill( 34, 46, 32 ); // back right x = 1060; y = 280; w = 20; h = 10; totalSteps = 40; stepCount = 0; while( stepCount < totalSteps ) { ellipse( x, y, w, h ); y += 1; stepCount += 1; } // bottom fill( 34, 45, 40 ); x = 1030; y = 280; w = 20; h = 10; totalSteps = 40; stepCount = 0; while( stepCount < totalSteps ) { ellipse( x, y, w, h ); y += 1; stepCount += 1; }//top // RIGHT FRONT BUILDING // facade fill( 26, 70, 70 ); quad( 1000, 340, 1000, height, width, height, width, 230 ); // red section of facade fill( 36, 49, 87 ); quad( width, height, width, 230, 1160, 260, 1160, height ); // white section of facade fill( 36, 36, 43 ); quad( 1000, 340, 980, 330, width, 220, width, 235 ); // bottom of roof overang // STONEMASON BARN // building fill( 40, 45, 85 ); beginShape(); vertex( 1080, 690 ); vertex( 1080, height ); vertex( 1000, height ); vertex( 640, 820 ); vertex( 640, 650 ); endShape(); // front wall fill( 39, 80, 20 ); quad( 1080, 690, width, 770, width, height, 1080, height ); // side wall quad( 1080, 680, width, 760, width, 770, 1080, 690 ); // side roof fill( 34, 84, 34 ); quad( 640, 645, 1080, 680, 1080, 690, 640, 655 ); // front roof // doors and windows fill( 39, 75, 20 ); quad( 970, 770, 1040, 780, 1040, 900, 970, 880 ); // window fill( 39, 80, 25 ); quad( 780, 740, 850, 750, 850, 890, 780, 867 ); // right door frame fill( 38, 70, 50 ); quad( 790, 760, 845, 755, 850, 890, 790, 870 ); // right door fill( 35, 80, 40 ); quad( 650, 720, 700, 730, 700, 840, 650, 823 ); // left door frame fill( 39, 80, 20, 100 ); beginShape(); vertex( 650, 720 ); vertex( 700, 730 ); vertex( 700, 760 ); vertex( 670, 740 ); vertex( 670, 830 ); vertex( 650, 823 ); endShape(); // indoor shadow fill( 36, 50, 76 ); triangle( 647, 823, 700, 823, 700, 841 ); // ground inside fill( 40, 50, 40, 200 ); quad( 740, 760, 755, 765, 754, 840, 720, 840 ); // left door shadow fill( 38, 50, 70 ); quad( 700, 730, 700, 840, 740, 854, 740, 740 ); // left door // accoutrement fill(35, 60, 30 ); rect( 1110, 910, 110, 30 ); // rock on side of barn fill( 29, 69, 84 ); triangle( 800, 810, 820, 880, 780, 880 ); // well lady bottom half fill( 40, 50, 40, 200 ); rect( 920, 850, 20, 70 ); // rock behind well shadow fill( 41, 40, 95 ); quad( 880, 820, 870, 900, 920, 920, 930, 850 ); // front of rock behind well fill( 41, 30, 95 ); quad( 880, 820, 892, 817, 940, 850, 930, 850 ); // top of rock behind well fill( 41, 50, 75 ); triangle( 940, 850, 930, 850, 920, 920 ); // side of rock behind well fill( 40, 50, 40, 200 ); quad(880, 830, 900, 860, 900, 913, 860, 905 ); // shadow from well on rock fill( 43, 35, 95 ); quad( 800, 820, 860, 830, 860, 905, 820, 890 ); // front of well fill( 43, 50, 65 ); quad( 860, 905, 860, 830, 885, 825, 870, 900 ); // right side of well fill( 43, 20, 87 ); quad( 800, 821, 860, 831, 885, 825, 845, 810 ); // top of well fill( 43, 15, 92 ); ellipse( 845, 820, 40, 7 ); // well hole fill( 186, 2, 93 ); quad( 800, 810, 820, 800, 825, 820, 800, 820 ); // well lady top half fill( 40, 50, 40, 200 ); triangle( 760, 800, 765, 862, 750, 857 ); // triangle rock shadow fill( 48, 21, 99 ); triangle( 720, 850, 740, 860, 760, 790 ); // triangle rock front fill( 48, 50, 81 ); triangle( 740, 860, 750, 860, 760, 790 ); // triangle rock side fill( 41, 35, 59 ); quad( 1040, 840, 1040, 860, 1020, 860, 1010, 850 ); // worker working top fill( 30, 70, 45 ); quad( 1020, 860, 1040, 860, 1040, 900, 1025, 896 ); // worker working bottom fill( 36, 49, 35 ); quad( 970, 770, 970, 800, 980, 800, 980, 772 ); // window between stalls fill( 26, 82, 48 ); rect( 970, 780, 10, 20 ); // worker standing shirt fill( 193, 20, 40 ); quad( 973, 780, 980, 780, 980, 772, 977, 771 ); // worker standing hat