////Lovely Cat Oven////
///by Colton David///
/*
Use your cat paw to manipulate the oven and get your fish waffle a'cooking.
All good things take time. Be patient.
*/
void setup() {
//Set window size!!
size(400, 400);
//Better framerate
frameRate(60);
//byyye cursor
noCursor();
}
void draw() {
background(119, 213, 213);
// Set center mode!!
ellipseMode(CENTER);
rectMode(CENTER);
//Wallpaper
noStroke();
rectMode(CORNER);
fill(255);
rect(0, 0, 2, 500);
rect(4, 0, 2, 500);
rect(8, 0, 2, 500);
rect(12, 0, 2, 500);
rect(16, 0, 2, 500);
rect(20, 0, 2, 500);
rect(24, 0, 2, 500);
rect(28, 0, 2, 500);
rect(32, 0, 2, 500);
rect(36, 0, 2, 500);
rect(40, 0, 2, 500);
rect(44, 0, 2, 500);
rect(48, 0, 2, 500);
rect(52, 0, 2, 500);
rect(56, 0, 2, 500);
rect(60, 0, 2, 500);
rect(64, 0, 2, 500);
rect(68, 0, 2, 500);
rect(72, 0, 2, 500);
rect(76, 0, 2, 500);
rect(80, 0, 2, 500);
rect(84, 0, 2, 500);
rect(88, 0, 2, 500);
rect(92, 0, 2, 500);
rect(96, 0, 2, 500);
rect(100, 0, 2, 500);
rect(104, 0, 2, 500);
rect(108, 0, 2, 500);
rect(112, 0, 2, 500);
rect(116, 0, 2, 500);
rect(120, 0, 2, 500);
rect(124, 0, 2, 500);
rect(128, 0, 2, 500);
rect(132, 0, 2, 500);
rect(136, 0, 2, 500);
rect(140, 0, 2, 500);
rect(144, 0, 2, 500);
rect(148, 0, 2, 500);
rect(152, 0, 2, 500);
rect(156, 0, 2, 500);
rect(160, 0, 2, 500);
rect(164, 0, 2, 500);
rect(168, 0, 2, 500);
rect(172, 0, 2, 500);
rect(176, 0, 2, 500);
rect(180, 0, 2, 500);
rect(184, 0, 2, 500);
rect(188, 0, 2, 500);
rect(192, 0, 2, 500);
rect(196, 0, 2, 500);
rect(200, 0, 2, 500);
rect(204, 0, 2, 500);
rect(208, 0, 2, 500);
rect(212, 0, 2, 500);
rect(216, 0, 2, 500);
rect(220, 0, 2, 500);
rect(224, 0, 2, 500);
rect(228, 0, 2, 500);
rect(232, 0, 2, 500);
rect(236, 0, 2, 500);
rect(240, 0, 2, 500);
rect(244, 0, 2, 500);
rect(248, 0, 2, 500);
rect(252, 0, 2, 500);
rect(256, 0, 2, 500);
rect(260, 0, 2, 500);
rect(264, 0, 2, 500);
rect(268, 0, 2, 500);
rect(272, 0, 2, 500);
rect(276, 0, 2, 500);
rect(280, 0, 2, 500);
rect(284, 0, 2, 500);
rect(288, 0, 2, 500);
rect(292, 0, 2, 500);
rect(296, 0, 2, 500);
rect(300, 0, 2, 500);
rect(304, 0, 2, 500);
rect(308, 0, 2, 500);
rect(312, 0, 2, 500);
rect(316, 0, 2, 500);
rect(320, 0, 2, 500);
rect(324, 0, 2, 500);
rect(328, 0, 2, 500);
rect(332, 0, 2, 500);
rect(336, 0, 2, 500);
rect(340, 0, 2, 500);
rect(344, 0, 2, 500);
rect(348, 0, 2, 500);
rect(352, 0, 2, 500);
rect(356, 0, 2, 500);
rect(360, 0, 2, 500);
rect(364, 0, 2, 500);
rect(368, 0, 2, 500);
rect(372, 0, 2, 500);
rect(376, 0, 2, 500);
rect(380, 0, 2, 500);
rect(384, 0, 2, 500);
rect(388, 0, 2, 500);
rect(392, 0, 2, 500);
rect(396, 0, 2, 500);
rect(400, 0, 2, 500);
//Table
fill (255, 195, 195); //Base
stroke(185, 185, 90);
strokeWeight(1.5);
rect(0, 245, 400, 200);
fill(255, 218, 110); //Counter
rect(0, 225, 400, 100);
//Cat Ears
stroke(225, 125, 30);
fill(255, 150, 49);
//Top Left
rectMode(CORNERS);
strokeWeight(3);
triangle(70, 60, 130, 60, 100, 20); //L Ear Exterior
fill(255, 186, 186);
stroke(225, 156, 156);
strokeWeight(1);
triangle(80, 60, 120, 60, 100, 32); //L Ear Interior
//Top Right
stroke(128, 160, 200);
strokeWeight(3);
fill(148, 180, 219);
triangle(330, 60, 270, 60, 300, 20); //R Ear Exterior
fill(255, 186, 186);
strokeWeight(1);
triangle(320, 60, 280, 60, 300, 32); //R Ear Interior
//Oven EXT
rectMode(CENTER);
stroke(225, 127, 66);
strokeWeight(3);
fill(255, 157, 76);
rect(200, 160, 300, 200, 10);
//Cat Eyes
//Top Left
stroke(0);
rectMode(CENTER);
strokeWeight(1);
fill(255, 240, 105);
ellipse(140, 80, 28, 28);
fill(0);
ellipse(mouseX/50+137, mouseY/90+77.5, 2, 18); //Look at cursor
//Top Right
fill(255, 240, 105);
ellipse(270, 80, 28, 28);
fill(0);
ellipse(mouseX/50+267, mouseY/90+77.5, 2, 18); //Look at cursor
//Blush
stroke(255);
strokeWeight(0.2);
fill(255, 186, 186);
ellipse(105, 83, 15, 15);
ellipse(305, 83, 15, 15);
//Mouth
stroke(0);
strokeWeight(2);
noFill();
bezier(193, 85, 193, 90, 200, 90, 200, 85);
bezier(200, 85, 200, 90, 207, 90, 207, 85);
//Oven INT
noStroke();
fill(34);
rect(200, 165, 250, 135, 10);
//Taiyaki
//Plate
stroke(0);
strokeWeight(1);
fill(119, 213, 213);
ellipse(190, 200, 180, 42);
fill(255);
ellipse(190, 200, 165, 35);
//Body & Tail
stroke(0);
fill(253, 188, 85);
ellipse(193, 136, 35, 15);
ellipse(176, 204, 30, 15);
ellipse(255, 162.5, 35, 25);
ellipse(255, 185.5, 35, 25);
ellipse(180, 170, 140, 70);
strokeWeight(3);
line(140, 152, 155, 167);
line(155, 152, 140, 167);
//Hide the tail stroke
noStroke();
ellipse(240, 171, 26, 32);
//Scales
stroke(0);
strokeWeight(1.5);
bezier(200, 150, 190, 150, 190, 160, 200, 160);
bezier(200, 160, 190, 160, 190, 170, 200, 170);
bezier(200, 170, 190, 170, 190, 180, 200, 180);
bezier(220, 155, 210, 155, 210, 165, 220, 165);
bezier(220, 165, 210, 165, 210, 175, 220, 175);
//Oven Alpha
stroke(255);
strokeWeight(1);
fill(mouseX/1.5, 0, 0, mouseX/2); //Fade to red on scroll
rect(200, 165, 250, 135, 10);
//Temperature Slider
stroke(225, 127, 66);
strokeWeight(2);
fill(255, 193, 143);
rect(200, 275, 200, 30, 0, 0, 10, 10);
//Heat line
fill(255);
line(100, 275, 300, 275);
//Slider Button
rect(mouseX/2.25+108, 275, 5, 20, 20);
//Oven Glass
fill(255, 255, 255, 120);
rect(200, 165, 250, 135, 10);
//Oven Shine
stroke(255, 120);
strokeWeight(2);
line(110, 120, 260, 213);
line(170, 125, 280, 192);
//Temperature Icons
rectMode(CORNER);
strokeWeight(2);
//Cold
stroke(50, 210, 210);
fill(172, 237, 237);
rect(100, 236, 45, 20, 6);
//Med Cold
stroke(105, 180, 180);
fill(119, 213, 213);
rect(150, 236, 45, 20, 6);
//Med Hot
stroke(215, 85, 85);
fill(255, 107, 107);
rect(200, 236, 45, 20, 6);
//Hot
stroke(200, 12, 12);
fill(233, 37, 37);
rect(250, 236, 45, 20, 6);
//Paw
rectMode(CORNER);
stroke(190, 154, 72);
strokeWeight(2);
fill(255, 174, 92);
rect(mouseX-18, mouseY, 35, 600); //Cat Arm
fill(255, 174, 92);
ellipse(mouseX, mouseY, 50, 40); //Paw
noStroke();
rect(mouseX-15, mouseY+15, 29, 9); //Stroke cover up
//Stripes
fill(255, 193, 143);
rect(mouseX-13, mouseY-15, 5, 500);
rect(mouseX-1, mouseY-18, 5, 500);
rect(mouseX+10, mouseY-15, 5, 500);
//Beans
stroke(0);
strokeWeight(0.5);
fill(255, 143, 143);
ellipse(mouseX, mouseY+5, 15, 10);
ellipse(mouseX+10, mouseY-5, 10, 7);
ellipse(mouseX-10, mouseY-5, 10, 7);
ellipse(mouseX, mouseY-10, 10, 7);
//Heat Squiggle
noFill();
strokeWeight(2);
stroke(0, 0, 0, mouseX/1.8-20);
bezier(175, 20, 165, 25, 165, 35, 180, 35);
bezier(180, 35, 185, 35, 185, 45, 175, 50);
stroke(0, 0, 0, mouseX/1.8-80);
bezier(215, 20, 205, 25, 205, 35, 220, 35);
bezier(220, 35, 225, 35, 225, 45, 215, 50);
}