xxxxxxxxxx
237
function setup() {
createCanvas(640, 360);
}
function draw() {
//background
background(196, 237, 255);
noStroke(0);
//animated
background(196 - mouseX / 3.2, 237 - mouseX / 3.2, 255 - mouseX / 3.2);
fill(251 + mouseX / 10, 248 + mouseX / 10, 184 + mouseX / 10);
circle(mouseX, mouseY, 75);
fill(196 - mouseX / 3.2, 237 - mouseX / 3.2, 255 - mouseX / 3.2);
circle([mouseX + 100] - mouseX / 7.5, mouseY, 75);
//background
fill(53, 66, 33);
ellipse(320, 230, 700, 300);
fill(76, 103, 48);
ellipse(320, 230, 700, 150);
fill(50, 46, 60);
rect(0, 230, 640, 90);
fill(108, 107, 105);
rect(0, 235, 640, 85);
fill(126, 140, 55);
rect(0, 250, 640, 70);
fill(20, 45, 30);
rect(0, 270, 640, 50);
//roof under
fill(22, 59, 47);
quad(137, 220, 137, 165, 65, 165, 60, 170);
rect(137, 165, 366, 195);
quad(640 - 137, 220, 640 - 137, 165, 640 - 65, 165, 640 - 60, 170);
fill(52, 76, 58);
quad(137, 220, 503, 220, 510, 210, 130, 210);
fill(62, 96, 74);
rect(165, 210, 35, 10);
rect(220, 210, 35, 10);
rect(290, 210, 60, 10);
rect(640 - 35 - 165, 210, 35, 10);
rect(640 - 35 - 220, 210, 35, 10);
fill(26, 42, 42);
quad(165, 160, 90, 90, 95, 80, 165, 80);
rect(165, 80, 310, 80);
quad(640 - 165, 160, 640 - 90, 90, 640 - 95, 80, 640 - 165, 80);
fill(55, 75, 69);
quad(165, 140, 475, 140, 480, 130, 160, 130);
fill(39, 64, 57);
rect(190, 130, 30, 10);
rect(240, 130, 30, 10);
rect(295, 130, 50, 10);
rect(640 - 30 - 190, 130, 30, 10);
rect(640 - 30 - 240, 130, 30, 10);
//top wall
fill(65, 33, 44);
rect(165, 140, 310, 25);
fill(55, 63, 64);
stroke(84, 64, 32);
strokeWeight(2);
rect(181, 151, 13, 8);
rect(181 + 15, 151, 13, 8);
rect(181 + 45, 151, 13, 8);
rect(181 + 60, 151, 13, 8);
rect(181 + 75, 151, 13, 8);
rect(321 - 30, 151, 13, 8);
rect(321 - 15, 151, 13, 8);
rect(321, 151, 13, 8);
rect(321 + 15, 151, 13, 8);
rect(640 - 13 - 181, 151, 13, 8);
rect(640 - 13 - 181 - 15, 151, 13, 8);
rect(640 - 13 - 181 - 45, 151, 13, 8);
rect(640 - 13 - 181 - 60, 151, 13, 8);
rect(640 - 13 - 181 - 75, 151, 13, 8);
noStroke();
//bottom wall
fill(101, 31, 41);
rect(137, 220, 366, 140);
fill(82, 32, 39);
rect(148, 220, 344, 140);
fill(21, 20, 24);
rect(300, 230, 40, 130);
fill(177, 139, 46);
rect(285, 230, 15, 40);
fill(244);
rect(287, 232, 11, 26);
fill(244);
rect(250, 230, 15, 15);
fill(21, 20, 24);
rect(250, 245, 15, 15);
fill(244);
rect(250 - 17, 230, 15, 15);
fill(21, 20, 24);
rect(250 - 17, 245, 15, 15);
fill(244);
rect(250 - 17 - 17, 230, 15, 15);
fill(21, 20, 24);
rect(250 - 17 - 17, 245, 15, 15);
fill(255);
stroke(177, 139, 46);
strokeWeight(2);
rect(266, 231, 13, 28);
fill(141, 133, 109);
rect(266 - 64, 231, 13, 28);
rect(266 - 64 - 15, 231, 13, 28);
rect(266 - 64 - 15 - 15, 231, 13, 28);
rect(266 - 64 - 15 - 30, 231, 13, 28);
noStroke();
//bottom wall opposite
fill(177, 139, 46);
rect(640 - 15 - 285, 230, 15, 40);
fill(244);
rect(640 - 11 - 287, 232, 11, 26);
fill(244);
rect(640 - 15 - 250, 230, 15, 15);
fill(21, 20, 24);
rect(640 - 15 - 250, 245, 15, 15);
fill(244);
rect(640 - 15 - 250 + 17, 230, 15, 15);
fill(21, 20, 24);
rect(640 - 15 - 250 + 17, 245, 15, 15);
fill(244);
rect(640 - 15 - 250 + 17 + 17, 230, 15, 15);
fill(21, 20, 24);
rect(640 - 15 - 250 + 17 + 17, 245, 15, 15);
fill(255);
stroke(177, 139, 46);
strokeWeight(2);
rect(640 - 15 - 266, 231, 13, 28);
fill(141, 133, 109);
rect(640 - 15 - 266 + 64, 231, 13, 28);
rect(640 - 15 - 266 + 64 + 15, 231, 13, 28);
rect(640 - 15 - 266 + 64 + 15 + 15, 231, 13, 28);
rect(640 - 15 - 266 + 64 + 15 + 30, 231, 13, 28);
noStroke();
//ground
fill(248, 244, 239);
rect(0, 340, 640, 20);
fill(189, 176, 169);
rect(0, 320, 640, 20);
fill(253, 251, 239);
rect(0, 315, 640, 5);
fill(189, 176, 169);
rect(20, 295, 600, 20);
fill(253, 251, 239);
quad(20, 295, 620, 295, 540, 290, 100, 290);
fill(167, 169, 172);
rect(100, 285, 440, 5);
fill(189, 190, 192);
rect(135, 280, 370, 5);
fill(108, 99, 102);
rect(150, 280, 340, 5);
fill(108, 109, 131);
rect(275, 275, 90, 10);
//roof
fill(85, 84, 121);
quad(65, 165, 70, 170, 125, 180, 125, 165);
quad(125, 180, 320, 185, 320, 165, 125, 165);
quad(640 - 65, 165, 640 - 70, 170, 640 - 125, 180, 640 - 125, 165);
quad(640 - 125, 180, 640 - 320, 185, 320, 165, 640 - 125, 165);
fill(179, 192, 217);
rect(65, 160, 105, 5);
rect(640 - 105 - 65, 160, 105, 5);
fill(179, 192, 217);
quad(175, 80, 190, 35, 450, 35, 465, 80);
rect(95, 75, 85, 5);
rect(640 - 85 - 95, 75, 85, 5);
fill(85, 84, 121);
quad(150, 95, 100, 85, 95, 80, 150, 80);
quad(95, 80, 150, 95, 320, 100, 320, 80);
quad(640 - 150, 95, 640 - 100, 85, 640 - 95, 80, 640 - 150, 80);
quad(640 - 95, 80, 640 - 150, 95, 640 - 320, 100, 640 - 320, 80);
quad(180, 80, 460, 80, 445, 45, 195, 45);
fill(32, 46, 85);
quad(95, 80, 100, 85, 115, 90, 190, 80);
quad(190, 80, 180, 80, 195, 45, 225, 45);
triangle(210, 165, 515, 165, 270, 180);
}