/////Monument Valley///// /* Sept 21st 2017 Intro to Media Computation Instructor: Fredd Eyles Created by: Charmaine Wong/ Ho Wing Wong Move your mouse up and down to control day and night and change characters */ void setup() { size(400, 400); smooth(); frameRate(60); }; void draw() { //default background colour background(192, 231, 204); // background for night time fill(58, 61, 122, mouseY); rectMode(CORNER); rect(0, 0, 400, 400); fill(mouseY-160, mouseY-172, mouseY-87); //left mountains moves left as mouseY increases on coordinateX fill(41, 128, 138); stroke(41, 128, 138); triangle(90 - mouseY/1.5, 120, 140 - mouseY/1.5, 40, 200 - mouseY/1.5, 120); fill(153, 116, 108); stroke(153, 116, 108); //triangle(mouseY/20 - 40,120,mouseY/20 - 100,20,mouseY/20 - 180,120); triangle(40 - mouseY/2, 120, 100 - mouseY/2, 20, 180 - mouseY/2, 120); fill(91, 138, 137); stroke(91, 138, 137); triangle(0-mouseY/2, 120, 60-mouseY/2, 20, 130-mouseY/2, 120); fill(127, 169, 159); stroke(127, 169, 159); triangle(10-mouseY/2, 120, 50-mouseY/2, 50, 100-mouseY/2, 120); //right mountains moves right as mouseY increases on coordinate X fill(41, 128, 138); stroke(41, 128, 138); triangle(mouseY/1.5+200, 120, mouseY/1.5+240, 40, mouseY/1.5+280, 120); fill(91, 138, 137); stroke(91, 138, 137); triangle(mouseY/2+220, 120, mouseY/2+280, 20, mouseY/2+330, 120); fill(153, 116, 108); stroke(153, 116, 108); triangle(mouseY/2+280, 120, mouseY/2+340, 0, mouseY/2+400, 120); fill(127, 169, 159, 255-mouseY); stroke(127, 169, 159, 255-mouseY); triangle(mouseY/2+320, 120, mouseY/2+360, 40, mouseY/2+400, 120); //trees //trunk scattered around rectMode(CORNER); rect(95, 200, 5, 20); rect(95, 340, 10, 20); rect(75, 330, 10, 30); rect(335, 280, 10, 30); rect(63, 210, 5, 20); //leaves //dark leaves fill(30, 55, 13, 255-mouseY); stroke(30, 55, 13, 255-mouseY); triangle(50, 330-mouseY, 80, 250-mouseY, 110, 330-mouseY); triangle(320, 280-mouseY, 340, 220-mouseY, 360, 280-mouseY); triangle(50, 210-mouseY, 65, 170-mouseY, 80, 210-mouseY); //light leaves fill(152, 166, 9, 255-mouseY); stroke(152, 166, 9, 255-mouseY); triangle(80, 200-mouseY, 98, 160-mouseY, 115, 200-mouseY); triangle(80, 340, 100, 300, 120, 340); //Night time buildings fill(135, 130, 192, mouseY); stroke(135, 130, 192, mouseY); rectMode(CORNER); rect(0, 115, 400, 5); rectMode(CORNER); rect(0, 80, 400, 40); //Back Left wall details rectMode(CORNER); rect(0, 70, 10, 10); beginShape(); vertex(30, 80); vertex(30, 70); vertex(40, 70); vertex(40, 60); vertex(50, 60); vertex(50, 70); vertex(60, 70); vertex(60, 80); // etc; endShape(); beginShape(); vertex(80, 80); vertex(80, 70); vertex(90, 70); vertex(90, 60); vertex(100, 60); vertex(100, 70); vertex(110, 70); vertex(110, 80); // etc; endShape(); beginShape(); vertex(130, 80); vertex(130, 70); vertex(140, 70); vertex(140, 60); vertex(150, 60); vertex(150, 70); vertex(160, 70); vertex(160, 80); // etc; endShape(); beginShape(); vertex(230, 80); vertex(230, 70); vertex(240, 70); vertex(240, 60); vertex(250, 60); vertex(250, 70); vertex(260, 70); vertex(260, 80); // etc; endShape(); beginShape(); vertex(280, 80); vertex(280, 70); vertex(290, 70); vertex(290, 60); vertex(300, 60); vertex(300, 70); vertex(310, 70); vertex(310, 80); // etc; endShape(); beginShape(); vertex(330, 80); vertex(330, 70); vertex(340, 70); vertex(340, 60); vertex(350, 60); vertex(350, 70); vertex(360, 70); vertex(360, 80); // etc; endShape(); beginShape(); vertex(380, 80); vertex(380, 70); vertex(390, 70); vertex(390, 60); vertex(400, 60); vertex(400, 70); vertex(410, 70); vertex(410, 80); // etc; endShape(); //back left platform fill(109, 199, 229, mouseY); stroke(109, 199, 229, mouseY); beginShape(); vertex(0, 140); vertex(40, 140); vertex(60, 160); vertex(60, 240); vertex(90, 240); vertex(90, 140); vertex(100, 130); vertex(120, 130); vertex(130, 140); vertex(130, 240); vertex(180, 240); vertex(180, 120); vertex(0, 120); // etc; endShape(); //back right light blue //fill(78, 184, 160, mouseY); // stroke(78, 184, 160, mouseY); fill(109, 199, 229, mouseY); stroke(109, 199, 229, mouseY); beginShape(); vertex(220, 120); vertex(340, 120); vertex(340, 140); vertex(320, 140); vertex(320, 250); vertex(290, 250); vertex(290, 140); vertex(280, 130); vertex(260, 130); vertex(250, 140); vertex(250, 210); vertex(220, 210); vertex(220, 120); // etc; endShape(); //stairs fill(194, 228, 161, mouseY); stroke(194, 228, 161, mouseY); beginShape(); vertex(20, 400); vertex(20, 240); vertex(60, 240); vertex(60, 220); vertex(80, 220); vertex(80, 200); vertex(100, 200); vertex(100, 180); vertex(120, 180); vertex(120, 160); vertex(140, 160); vertex(140, 140); vertex(160, 140); vertex(160, 120); vertex(220, 120); vertex(220, 400); vertex(20, 400); // etc; endShape(); //stairs details fill(81, 81, 110, mouseY); stroke(81, 81, 110, mouseY); rectMode(CORNER); rect(40, 260, 60, 10); rectMode(CORNER); rect(40, 280, 60, 10); rectMode(CORNER); rect(40, 300, 60, 10); noFill(); strokeWeight(4); rectMode(CENTER); rect(70, 350, 60, 60); rect(70, 350, 50, 50); rect(70, 350, 40, 40); rect(70, 350, 20, 20); //night castles //left fill(109, 199, 229, mouseY); stroke(109, 199, 229, mouseY); beginShape(); vertex(80, 120); vertex(80, 50); vertex(140, 50); vertex(140, 120); vertex(130, 120); vertex(130, 70); vertex(120, 60); vertex(100, 60); vertex(90, 70); vertex(90, 120); vertex(80, 120); // etc; endShape(); fill(174, 93, 196, mouseY); stroke(174, 93, 196, mouseY); quad(80, 50, 100, 20, 120, 20, 140, 50); //right beginShape(); vertex(350, 120); vertex(350, 30); vertex(400, 40); vertex(400, 120); vertex(390, 130); vertex(390, 60); vertex(370, 40); vertex(360, 50); vertex(360, 100); vertex(360, 110); vertex(350, 120); // etc; endShape(); //triangle right fill(128, 101, 159, mouseY); stroke(128, 101, 159, mouseY); quad(370, 160, 390, 145, 390, 270, 370, 260); //right platform //top purple noStroke(); triangle(347, 29, 400, 10, 400, 40); fill(194, 228, 161, mouseY); strokeWeight(0); stroke(194, 228, 161, mouseY); //light green top platform quad(270, 150, 390, 85, 390, 126, 300, 180); //front light green platform quad(270, 150, 300, 180, 300, 200, 270, 170); //light blue fill(109, 199, 229, mouseY); stroke(109, 199, 229, mouseY); beginShape(); vertex(300, 180); vertex(400, 120); vertex(400, 280); vertex(290, 380); vertex(290, 250); vertex(300, 257); vertex(300, 350); vertex(390, 270); vertex(390, 145); vertex(300, 200); vertex(300, 180); // etc; endShape(); //right triangle parts fill(194, 228, 161, mouseY); strokeWeight(0); stroke(194, 228, 161, mouseY); beginShape(); vertex(280, 230); vertex(300, 215); vertex(390, 270); vertex(300, 350); vertex(300, 320); vertex(350, 275); vertex(280, 230); // etc; endShape(); //right triangle dark purple fill(135, 130, 192, mouseY); stroke(135, 130, 192, mouseY); beginShape(); vertex(280, 230); vertex(350, 275); vertex(340, 285); vertex(290, 250); vertex(290, 380); vertex(280, 370); vertex(280, 230); // etc; endShape(); //castle fill(209, 208, 154); stroke(209, 208, 154); rectMode(CORNERS); rect(180, 60, 220, 120); fill(102, 45, 77); stroke(209, 208, 154); rectMode(CORNERS); rect(185, 70, 215, 120); //castle roof fill(97, 84, 6); stroke(97, 84, 6); strokeWeight(0.5); quad(170, 50, 180, 60, 220, 60, 230, 50); fill(150, 141, 20); stroke(150, 141, 20); rectMode(CORNERS); rect(170, 40, 230, 50); fill(162, 155, 25); stroke(162, 155, 25); rectMode(CORNERS); rect(170, 30, 230, 40); fill(189, 197, 0); stroke(189, 197, 0); quad(170, 30, 180, 20, 220, 20, 230, 30); quad(185, 20, 190, 10, 210, 10, 215, 20); fill(136, 130, 0); stroke(136, 130, 0); triangle(190, 10, 200, 0, 210, 10); stroke(225); fill(255); rectMode(CORNERS); rect(175, 59, 225, 67); //bridges strokeWeight(1); stroke(124, 170, 157); fill(124, 170, 157); quad(120, 210, 180, 297, 180, 400, 120, 400); strokeWeight(1); stroke(149, 115, 106); fill(149, 115, 106); triangle(260, 180, 260, 340, 180, 220); strokeWeight(1); stroke(124, 170, 157); fill(124, 170, 157); triangle(180, 120, 180, 180, 210, 170); //river fill(73, 193, 166); strokeWeight(4); stroke(209, 208, 154); beginShape(); vertex(220, 120); vertex(260, 180); vertex(180, 220); vertex(220, 270); vertex(179, 293); vertex(120, 210); vertex(210, 170); vertex(180, 120); // etc; endShape(); //stairs fill(209, 208, 154); triangle(182, 281, 189, 279, 189, 289); //highlights on the river stroke(149, 237, 225); strokeWeight(3); line(235, 160, 245, 175); line(245, 175, 220, 187); line(217, 178, 167, 201); line(140, 225, 167, 264); line(185, 209, 171, 216); line(171, 216, 179, 227); line(234, 172, 228, 162); line(199, 120, 215, 145); line(167, 224, 179, 242); point(209, 123); point(184, 234); //platform strokeWeight(0); fill(124, 170, 157); stroke(124, 170, 157); beginShape(); vertex(180, 400); vertex(180, 280); vertex(190, 290); vertex(190, 270); vertex(220, 310); vertex(220, 400); vertex(180, 400); // etc; endShape(); fill(210, 209, 155); stroke(210, 209, 155); quad(220, 310, 265, 285, 265, 400, 220, 400); quad(190, 270, 237, 251, 265, 285, 220, 310); //princess ida //hat fill(255, mouseY); stroke(255, mouseY); triangle(220, 230, 200, 200, 235, 220); //dress fill(255, mouseY); stroke(255, mouseY); quad(227, 242, 232, 242, 250, 280, 210, 280); //head fill(0, mouseY); stroke(0, mouseY); ellipse(230, 230, 20, 20); rectMode(CENTER); rect(230, 240, 5, 5); fill(255, mouseY); stroke(255, mouseY); ellipse(235, 230, 15, 20); //legs beginShape(); vertex(220, 280); vertex(225, 280); vertex(225, 295); vertex(226, 300); vertex(220, 295); // etc; endShape(); beginShape(); vertex(230, 280); vertex(235, 280); vertex(235, 295); vertex(236, 300); vertex(230, 295); // etc; endShape(); // crow fill(0, 255-mouseY); stroke(0, 255-mouseY); ellipse(230, 230, 20, 20); triangle(239, 225, 252, 238, 228, 239); //body fill(0, 255-mouseY); stroke(0, 255-mouseY); quad(227, 242, 232, 242, 250, 275, 210, 275); beginShape(); vertex(220, 270); vertex(225, 270); vertex(225, 289); vertex(227, 296); vertex(219, 289); // etc; endShape(); beginShape(); vertex(230, 271); vertex(235, 271); vertex(235, 290); vertex(237, 295); vertex(230, 291); // etc; endShape(); //eyes noFill(); strokeWeight(2); stroke(255, 255-mouseY); ellipse(225, 230, 10, 10); }