/* MORGAN LYN
ASSIGNMENT 1
INTERACTIVE DRAWING
A man wants to pet his cat however, his cat does not like him
The man's arms follow the cursor. When you reach out for the cat it moves away*/
void setup() {
size(400, 400);
}
void draw() {
//setting the colour of the background
background(209, 225, 226);
//The cursor is not visble when interacting with the drawing
noCursor();
frameRate(45);
//floor
noStroke();
fill(220, 206, 192);
rectMode(CORNERS);
rect(0, 320, 400, 400);
//MAN//
//Man's head
noStroke();
fill(249, 192, 155); //skin tone
rectMode(CORNER);
rect(50, 100, 40, 50);
//Man's eyes
fill(112, 83, 69);
rect(60, 120, 5, 5);
rect(75, 120, 5, 5);
//Man's mouth
strokeWeight(1.5);
noFill();
stroke(112, 83, 69); //brown
curve(60, 136, 60, 136, 75, 135, 75, 261);
//Man's hair
noStroke();
fill(193, 130, 101); //brown
triangle(50, 100, 70, 120, 70, 100);
triangle(58, 100, 78, 120, 90, 100);
//Man's neck
fill(249, 192, 155); //skin tone
rect(65, 150, 10, 10);
//Man's pants
fill(102, 111, 132); // blue
noStroke();
ellipseMode(CORNERS);
ellipse(45, 220, 95, 265);
//Man's body
fill(0, 0, 0); //black
rect(45, 160, 50, 80);
//Man's legs
fill(102, 111, 132); // blue
rect(45, 240, 10, 130);
rect(85, 240, 10, 130);
//Man's arms
stroke(249, 192, 155);
strokeWeight(7.5);
//Arm's move with the cursor to try and catch the cat
line(45, 163, mouseX-25, mouseY+20);
line(95, 163, mouseX+25, mouseY+20);
//CAT//
//Cat moves away when his owners arms are near
//Cat's body
noStroke();
fill(104, 108, 121); //grey
rect(mouseX+55-(mouseX-pmouseX), 310, 80, 35);
//Cat's head
rect(mouseX+115-(mouseX-pmouseX), 280, 30, 30);
//Cat ears
triangle(mouseX+115-(mouseX-pmouseX), 280, mouseX+130-(mouseX-pmouseX), 280, mouseX+122.5-(mouseX-pmouseX), 267);
triangle(mouseX+130-(mouseX-pmouseX), 280, mouseX+145-(mouseX-pmouseX), 280, mouseX+137.5-(mouseX-pmouseX), 267);
//Cat's nose
fill(255, 194, 194);
triangle(mouseX+127-(mouseX-pmouseX), 295, mouseX+133-(mouseX-pmouseX), 295, mouseX+130-(mouseX-pmouseX), 299);
//Cat's legs (front)
fill(104, 108, 121); //grey
rect(mouseX+55-(mouseX-pmouseX), 330, 10, 40);
rect(mouseX+125-(mouseX-pmouseX), 330, 10, 40);
//Cat's legs (back)
fill(74, 78, 94); //dark grey
rect(mouseX+65-(mouseX-pmouseX), 345, 5, 20);
rect(mouseX+120-(mouseX-pmouseX), 345, 5, 20);
//Cat's whiskers
strokeWeight(1);
stroke(74, 78, 94); //dark grey
//left whiskers
line(mouseX+110-(mouseX-pmouseX), 290, mouseX+120-(mouseX-pmouseX), 293);
line(mouseX+110-(mouseX-pmouseX), 297, mouseX+120-(mouseX-pmouseX), 297);
//right whiskers
line(mouseX+140-(mouseX-pmouseX), 297, mouseX+150-(mouseX-pmouseX), 297);
line(mouseX+140-(mouseX-pmouseX), 293, mouseX+150-(mouseX-pmouseX), 290);
//Cat's eyes
noStroke();
fill(71, 72, 86); //dark grey
rect(mouseX+122-(mouseX-pmouseX), 287, 5, 5);
rect(mouseX+133-(mouseX-pmouseX), 287, 5, 5);
//Cat'mouth
strokeWeight(1.5);
stroke(71, 72, 86); //dark grey
line(mouseX+125-(mouseX-pmouseX), 302, mouseX+130-(mouseX-pmouseX), 300);
line(mouseX+130-(mouseX-pmouseX), 300, mouseX+135-(mouseX-pmouseX), 302);
//Cat tail
stroke(74, 78, 94); //dark grey
strokeWeight(7.5);
line(mouseX+55-(mouseX-pmouseX), 310, mouseX+50-(mouseX-pmouseX), 290);
}