/* "Poke the Cat" Made by Kilian Johnson This is an interactive drawing where the player is able to poke this innocent cat to wake it up (if they choose to). Don't worry it should go back to sleep quickly. */ void setup() { //Setting size of window to 400 by 400 size(400, 400); } void draw() { //Resetting frame rate after mouse is pressed frameRate(60); //Setting background (Wall) color background(55, 23, 123); //Setting floor color fill(55, 103, 140); rect(0, 150, 400, 400); //Door in background fill(182, 120, 90); rect(40, 60, 60, 90); fill(214, 189, 169); ellipse(85, 105, 7, 7); //Cat Tail noFill(); stroke(0, 0, 50); strokeWeight(10); bezier(350, 190, 400, 190, 360, 300, 390, 280); // Cat Body strokeWeight(1); fill(0, 0, 50); stroke(150); ellipse(230, 200, 240, 150+20*sin(frameCount*.05)); //Cat Ears triangle(40, 140, 30, 190, 50, 170); triangle(120, 140, 110, 170, 125, 180); //Cat Head ellipse(80, 200, 110, 90); //Cat Paws ellipse(65, 250, 30, 30); ellipse(95, 250, 30, 30); //Cat Eyes noFill(); strokeWeight(1); arc(50, 185, 20, 10, 0, PI); arc(90, 185, 20, 10, 0, PI); //Cat Nose triangle(75, 200, 65, 210, 85, 210); //Cat Mouth arc(75, 220, 30, 10, 0, PI); //Cat Whiskers line(50, 205, 60, 210); line(48, 210, 58, 213); line(46, 215, 56, 216); line(95, 210, 105, 205); line(97, 213, 107, 210); line(97, 216, 107, 215); //Snot Bubble fill(90, 90, 90); ellipse(70, 210, 25, 20+5*sin(frameCount*.05)); fill(200); ellipse(65, 208, 5, 6+3*sin(frameCount*.05)); //Window with night sky fill(182, 120, 90); rect(290, 10, 100, 100); stroke(111, 31, 31); line(290, 10, 300, 20); line(390, 10, 380, 20); line(290, 110, 300, 100); line(390, 110, 380, 100); fill(0); rect(300, 20, 80, 80); fill(255); ellipse(360, 40, 20, 20); ellipse(330, 50, 5, 5); ellipse(360, 80, 5, 5); ellipse(320, 60, 5, 5); ellipse(310, 90, 5, 5); ellipse(340, 80, 5, 5); ellipse(330, 50, 5, 5); ellipse(310, 30, 5, 5); //Poking Pencil fill(255, 191, 23); quad(mouseX-45, mouseY+45, mouseX+50, mouseY-50, mouseX+45, mouseY-55, mouseX-50, mouseY+40); fill(255, 190, 190); quad(mouseX+50, mouseY-50, mouseX+45, mouseY-55, mouseX+50, mouseY-60, mouseX+55, mouseY-55); fill(0); triangle(mouseX-45, mouseY+45, mouseX-50, mouseY+40, mouseX-55, mouseY+50); } void mousePressed() { //Slowing frame rate after mouse is pressed to let image persist longer frameRate(1); //Setting background (Wall) color background(55, 23, 123); //Setting floor color fill(55, 103, 140); rect(0, 150, 400, 400); //Door in background fill(182, 120, 90); rect(40, 60, 60, 90); fill(214, 189, 169); ellipse(85, 105, 7, 7); //Cat Tail noFill(); stroke(0, 0, 50); strokeWeight(10); bezier(350, 190, 400, 190, 360, 300, 390, 280); // Cat Body strokeWeight(1); fill(0, 0, 50); stroke(150); ellipse(230, 200, 240, 150+20*sin(frameCount*.05)); //Cat Ears triangle(40, 140, 30, 190, 50, 170); triangle(120, 140, 110, 170, 125, 180); //Cat Head ellipse(80, 200, 110, 90); //Cat Paws ellipse(65, 250, 30, 30); ellipse(95, 250, 30, 30); //Cat Nose triangle(75, 200, 65, 210, 85, 210); //Cat Mouth fill(255); arc(75, 220, 30, 10, 0, PI); //Cat Eyes (Open) fill(255); ellipse(50, 185, 30, 30); ellipse(90, 185, 30, 30); fill(250, 201, 40); ellipse(50, 185, 10, 10); ellipse(90, 185, 10, 10); //Cat Whiskers line(50, 205, 60, 210); line(48, 210, 58, 213); line(46, 215, 56, 216); line(95, 210, 105, 205); line(97, 213, 107, 210); line(97, 216, 107, 215); //Snot Bubble (Popped) strokeWeight(2); line(70, 200, 70, 190); line(75, 202, 78, 193); line(76, 206, 82, 200); line(78, 210, 86, 210); line(76, 214, 82, 220); line(75, 218, 78, 224); line(70, 220, 70, 230); line(65, 218, 62, 224); line(64, 214, 58, 220); line(60, 210, 50, 210); line(64, 206, 58, 200); line(65, 202, 62, 196); //Cat meowing after being woken up println("Meow!"); //Window with night sky strokeWeight(1); fill(182, 120, 90); rect(290, 10, 100, 100); stroke(111, 31, 31); line(290, 10, 300, 20); line(390, 10, 380, 20); line(290, 110, 300, 100); line(390, 110, 380, 100); fill(0); rect(300, 20, 80, 80); fill(255); ellipse(360, 40, 20, 20); ellipse(330, 50, 5, 5); ellipse(360, 80, 5, 5); ellipse(320, 60, 5, 5); ellipse(310, 90, 5, 5); ellipse(340, 80, 5, 5); ellipse(330, 50, 5, 5); ellipse(310, 30, 5, 5); //Poking Pencil fill(255, 191, 23); quad(mouseX-45, mouseY+45, mouseX+50, mouseY-50, mouseX+45, mouseY-55, mouseX-50, mouseY+40); fill(255, 190, 190); quad(mouseX+50, mouseY-50, mouseX+45, mouseY-55, mouseX+50, mouseY-60, mouseX+55, mouseY-55); fill(0); triangle(mouseX-45, mouseY+45, mouseX-50, mouseY+40, mouseX-55, mouseY+50); //line(mouseX-45,mouseY+45,mouseX+50,mouseY-50); //line(mouseX-50,mouseY+40,mouseX+45,mouseY-55); }