xxxxxxxxxx
201
var x = 200;
var y = 320;
var w = 50;
var h = 370;
var f = 300;
var rot = 0;
function setup() {
createCanvas(400, 400);
}
function draw() {
background("lightblue");
noStroke();
fill("white");
x = x - 2;
//cloud1
ellipse(x, 50, w, w);
ellipse(x - 30, 55, w - 10, w - 10);
ellipse(x + 20, 55, w - 10, w - 10);
rect(x - 30, 55, w, 20);
//cloud2
ellipse(x + 300, 90, w, w);
ellipse(x - 30 + 300, 95, w - 10, w - 10);
ellipse(x + 20 + 300, 95, w - 10, w - 10);
rect(x - 30 + 300, 95, w, 20);
//cloud3
ellipse(x + 600, 50, w, w);
ellipse(x - 30 + 600, 55, w - 10, w - 10);
ellipse(x + 20 + 600, 55, w - 10, w - 10);
rect(x - 30 + 600, 55, w, 20);
if (x < -399) {
x = 200;
}
//green land
fill("lightgreen");
rect(x - 200, 300, f, 100);
rect(x - 200 + 2 * f, 300, f, 100);
//yellow land
fill("lightyellow");
rect(x - 200 + f, 300, f, 100);
rect(x - 200 + 3 * f, 300, f, 100);
ellipse(x - 200 + f, 350, 100, 100);
ellipse(x - 200 + 3 * f, 350, 100, 100);
//green land
fill("lightgreen");
ellipse(x - 200 + 2 * f, 350, 100, 100);
//cactus
strokeWeight(25);
stroke("#9bf542");
line(x + f - 50, 300, x + f - 50, 200);
strokeWeight(20);
line(x + f - 50, 260, x + 30 - 50 + f, 260);
line(x + 30 - 50 + f, 260, x + 30 - 50 + f, 240);
line(x + f - 50, 245, x - 30 + f - 50, 245);
line(x - 30 + f - 50, 225, x - 30 + f - 50, 245);
//windmill body
noStroke();
fill("#dbbc8f");
translate(x, 180);
beginShape();
vertex(0, -30);
vertex(-40, 20);
vertex(-50, 120);
vertex(50, 120);
vertex(40, 20);
endShape(CLOSE);
//windmill door
fill("#997e59");
arc(0, 120, 30, 80, PI, 0);
fill("white");
//windmill blades
rotate(rot);
triangle(0, 0, 0, -100, 40, -70);
triangle(0, 0, 0, 100, -40, 70);
triangle(0, 0, 100, 0, 70, 40);
triangle(0, 0, -100, 0, -70, -40);
stroke("#cfaa76");
strokeWeight(10);
line(0, 0, 0, -95);
line(0, 0, 0, 95);
line(0, 0, 95, 0);
line(0, 0, -95, 0);
rotate(-rot);
//windmill body2
noStroke();
fill("#dbbc8f");
translate(-x, -200);
translate(x + 2 * f, 200);
beginShape();
vertex(0, -30);
vertex(-40, 20);
vertex(-50, 120);
vertex(50, 120);
vertex(40, 20);
endShape(CLOSE);
//windmill door2
fill("#997e59");
arc(0, 120, 30, 80, PI, 0);
//windmill blades2
rotate(rot);
fill("white");
triangle(0, 0, 0, -100, 40, -70);
triangle(0, 0, 0, 100, -40, 70);
triangle(0, 0, 100, 0, 70, 40);
triangle(0, 0, -100, 0, -70, -40);
stroke("#cfaa76");
strokeWeight(10);
line(0, 0, 0, -95);
line(0, 0, 0, 95);
line(0, 0, 95, 0);
line(0, 0, -95, 0);
rot = rot + 0.03;
rotate(-rot + 0.03);
translate(-x - 2 * f, -200);
//desert hole
stroke("#e6d873");
noFill();
ellipse(x + f - 120, 360, 70, 10);
ellipse(x + f + f + f - 120, 360, 70, 10);
//thing2
noStroke();
fill("#cfb386");
rect(x + f + f + f - 140, y, 40, 40);
arc(x + f + f + f - 132, y, 15, 20, PI, 0);
arc(x + f + f + f - 108, y, 15, 20, PI, 0);
fill("grey");
ellipse(x + f + f + f - 120, y + 20, 10, 5);
ellipse(x + f + f + f - 130, y + 15, 7, 7);
ellipse(x + f + f + f - 110, y + 15, 7, 7);
strokeWeight(2);
stroke("grey");
line(x + f + f + f - 120, y + 20, x + f + f + f - 120, y + 26);
//thing
noStroke();
fill("#cfb386");
rect(x + f - 140, y, 40, 40);
arc(x + f - 132, y, 15, 20, PI, 0);
arc(x + f - 108, y, 15, 20, PI, 0);
fill("grey");
ellipse(x + f - 120, y + 20, 10, 5);
ellipse(x + f - 130, y + 15, 7, 7);
ellipse(x + f - 110, y + 15, 7, 7);
strokeWeight(2);
stroke("grey");
line(x + f - 120, y + 20, x + f - 120, y + 26);
loop();
//water
fill("#b3d9f5");
noStroke();
ellipse(x - 120, 370, 150, 50);
ellipse(x - 120 + f + f, 370, 150, 50);
noFill();
stroke("#dae9ed");
strokeWeight(4);
arc(x - 120, 370, 90, 25, PI, 0);
arc(x - 120 + f + f, 370, 90, 25, PI, 0);
arc(x - 120 + f + f, 378, 60, 12, 0, PI);
arc(x - 120, 378, 60, 12, 0, PI);
strokeWeight(3);
ellipse(x - 120, 370, 30, 7);
ellipse(x - 120 + f + f, 370, 30, 7);
//reeds
stroke("#81b07f");
noFill();
strokeWeight(7);
arc(x - 20, 370, 50, 50, PI, (PI * 3) / 2);
arc(x - 20 + f + f, 370, 50, 50, PI, (PI * 3) / 2);
arc(x - 70 + f + f, 355, 30, 30, (PI * 3) / 2, 0);
arc(x - 70, 355, 30, 30, (PI * 3) / 2, 0);
arc(x - 170 + f + f, 380, 20, 20, PI, (PI * 3) / 2);
arc(x - 170, 380, 20, 20, PI, (PI * 3) / 2);
arc(x - 220 + f + f, 370, 50, 50, (PI * 3) / 2, 0);
arc(x - 220, 370, 50, 50, (PI * 3) / 2, 0);
stroke("#917b66");
strokeWeight(15);
line(x - 20, 342, x, 330);
line(x - 20 + f + f, 342, x + f + f, 330);
line(x - 220 + f + f, 345, x - 240 + f + f, 335);
line(x - 220, 345, x - 240, 335);
}