Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
//Lazy Kitty
//Kimi Yip
/*The lazy kitty sits on the window cill for the whole day without
moving from its spot.
The day goes by, Ferris wheel moves around.
Sun is up during daytime and goes down.
Moon comes up during night time and stars will appear in the 
night sky.
The city lights and Ferries Wheel Lights turn on as it becomes night time.
Kitty will blink when mouse is clicked.
*/

void setup() {
  size(400, 400);
  noStroke();
}

void draw() {
  //Frame Rate
  frameRate(300);

  //Background
  background(80, 120, 150);

  //Window Outer Rim Frame  
  rectMode(CORNERS);
  noStroke();
  strokeWeight(1);
  fill(255);
  rect(10, 10, 390, 390);

  //Window Outer Rim FrameLines
  stroke(230);
  strokeWeight(1);
  line(10, 10, 20, 20);
  line(389, 10, 380, 20);
  line(10, 389, 20, 380);
  line(380, 380, 389, 389);

  //Sky (changes colour Day to Night)
  noStroke();
  fill(193-(mouseY/1), 235-(mouseY/1), 235-(mouseY/2.5));
  rect(29, 33, 371, 366);

  //Stars
  fill(255, 255, 255, mouseY-100);
  ellipseMode(CENTER);
  ellipse(35, 65, 2, 2);
  ellipse(35, 105, 1, 1);
  ellipse(40, 170, 0.4, 0.4);
  ellipse(45, 135, 3, 3);
  ellipse(50, 55, 1, 1);
  ellipse(50, 90, 1.2, 1.2);
  ellipse(50, 195, 0.7, 0.7);
  ellipse(55, 155, 1, 1);
  ellipse(55, 175, 1, 1);
  ellipse(60, 80, 0.8, 0.8);
  ellipse(60, 115, 2, 2);
  ellipse (62, 190, 1.2, 1.2);
  ellipse(65, 145, 1, 1);
  ellipse(70, 100, 0.5, 0.5);
  ellipse(70, 185, 1.7, 1.7);
  ellipse(70, 205, 0.1, 0.1);
  ellipse(72, 83, 2, 2);
  ellipse(80, 80, 1, 1);
  ellipse(80, 130, 2, 2);
  ellipse(82, 180, 1, 1);
  ellipse(82, 105, 1, 1); 
  ellipse(100, 70, 1, 1);
  ellipse(100, 140, 1, 1);
  ellipse(105, 130, 2, 2);
  ellipse(102, 190, 1, 1);
  ellipse(107, 170, 1, 1);
  ellipse(115, 140, 1, 1);
  ellipse(120, 80, 3, 3);
  ellipse(120, 120, 1.5, 1.5);
  ellipse(120, 180, 0.5, 0.5);
  ellipse(125, 170, 1, 1);
  ellipse(135, 65, 1, 1);
  ellipse(135, 130, 1, 1);
  ellipse(135, 155, 1, 1);
  ellipse(140, 130, 2.5, 2.5);
  ellipse(140, 190, 1, 1);
  ellipse(141, 168, 1.5, 1.5);
  ellipse(145, 100, 1, 1);
  ellipse(147, 135, 1, 1);
  ellipse(150, 100, 1.3, 1.3);
  ellipse(150, 180, 1, 1);
  ellipse(155, 120, 1, 1);
  ellipse(155, 210, 1, 1);
  ellipse(160, 70, 3, 3);
  ellipse(160, 195, 1, 1);
  ellipse(160, 175, 1, 1);
  ellipse(162, 145, 3, 3);
  ellipse(165, 155, 1, 1);
  ellipse(170, 120, 1, 1);
  ellipse(175, 105, 1, 1);
  ellipse(175, 160, 1, 1);
  ellipse(180, 175, 3, 3);
  ellipse(180, 138, 1, 1);
  ellipse(190, 95, 1, 1);
  ellipse(190, 60, 1, 1);
  ellipse(190, 150, 1, 1);
  ellipse(195, 180, 1.5, 1.5);
  ellipse(200, 90, 1, 1);
  ellipse(210, 145, 1, 1);
  ellipse(210, 170, 3, 3);
  ellipse(220, 120, 1, 1);
  ellipse(225, 140, 2, 2);
  ellipse(230, 165, 1, 1);
  ellipse(235, 65, 1, 1);
  ellipse(235, 130, 1.5, 1.5);
  ellipse(235, 195, 1, 1);
  ellipse(240, 90, 1, 1);
  ellipse(240, 140, 1, 1);
  ellipse(245, 190, 1.5, 1.5);
  ellipse(243, 115, 3, 3);
  ellipse(250, 175, 1, 1);
  ellipse(255, 160, 2, 2);
  ellipse(260, 185, 1, 1);
  ellipse(260, 70, 2, 2);
  ellipse(260, 140, 1, 1);
  ellipse(270, 120, 1, 1);
  ellipse(270, 90, 2.5, 2.5);
  ellipse(275, 150, 1, 1);
  ellipse(280, 120, 1, 1);
  ellipse(280, 160, 1, 1);
  ellipse(280, 190, 2, 2);
  ellipse(290, 70, 3, 3);
  ellipse(292, 138, 1, 1);
  ellipse(300, 100, 2, 2);
  ellipse(300, 190, 1.5, 1.5);
  ellipse(322, 70, 1.5, 1.5);
  ellipse(323, 130, 1, 1);
  ellipse(325, 175, 1, 1);
  ellipse(327, 160, 2, 2);
  ellipse(330, 110, 1, 1);
  ellipse(333, 70, 1, 1);
  ellipse(335, 145, 1, 1);
  ellipse(337, 100, 1, 1);
  ellipse(345, 55, 1, 1);
  ellipse(347, 105, 2, 2);
  ellipse(350, 135, 1, 1);
  ellipse(352, 150, 1, 1);
  ellipse(355, 115, 1, 1);
  ellipse(358, 180, 1, 1);
  ellipse(360, 90, 1, 1);
  ellipse(362, 100, 1, 1);
  ellipse(365, 155, 2, 2);
  ellipse(365, 130, 1, 1);
  ellipse(370, 150, 1, 1);

  //Sun
  fill(255, 231, 172);
  ellipse((200+120*-cos(1.56+radians(mouseY/4.44))), (230+140*-sin(1.56+radians(mouseY/4.44))), 40, 40);

  //Moon
  fill(255);
  ellipse((200+120*-sin(1.56+radians(mouseY/4.44))), (230+140*cos(1.56+radians(mouseY/4.44))), 40, 40);

  //Window Roof & Cill
  stroke(220);
  fill(230);
  quad(20, 20, 380, 20, 310, 50, 90, 50);
  quad(90, 350, 310, 350, 380, 380, 20, 380);

  //Water Horizon
  fill(45, 100, 135);
  noStroke();
  rect(29, 210, 371, 342); 

  //Pavement
  fill(225);
  rect(29, 260, 371, 342);

  //Grass Area
  fill(188, 255, 186);
  rect(29, 255, 371, 265);

  //Road Next to Water
  fill(225);
  rect(29, 250, 371, 255);

  //Road
  fill(130);
  rect(29, 307, 371, 327);

  //Road Lines
  fill(203, 175, 130);
  rect(29, 316, 371, 318);

  //Left Side Back Buildings (Grey Buildings)
  fill(150);
  quad(30, 200, 50, 200, 50, 360, 30, 370);
  rect(30, 190, 40, 200);
  rect(30, 180, 35, 190);
  quad(50, 240, 61, 240, 61, 360, 50, 365);
  quad(61, 230, 73, 230, 73, 350, 61, 360);
  quad(73, 220, 83, 220, 83, 345, 73, 355);
  rect(98, 220, 111, 342);
  rect(98, 200, 107, 342);
  rect(98, 190, 102, 200);

  stroke(150);
  strokeWeight(1);
  line(31, 180, 31, 160);

  //Left Side Building Grey Building Lights
  fill(255, 175, 175, mouseY-100);
  noStroke();
  ellipse(31, 160, 4, 4);

  fill(240, 245, 255, mouseY-100);

  rect(30, 192, 31, 198); 
  rect(33, 192, 35, 198);
  rect(37, 192, 39, 198);

  rect(31, 202, 33, 208);
  rect(35, 202, 37, 208);
  rect(39, 202, 41, 208);
  rect(47, 202, 49, 208);

  rect(31, 212, 33, 218);
  rect(43, 212, 45, 218);
  rect(47, 212, 49, 218);

  rect(31, 222, 33, 228);
  rect(35, 222, 37, 228);
  rect(39, 222, 41, 228);

  rect(39, 232, 41, 238);
  rect(43, 232, 45, 238);
  rect(47, 232, 49, 238);

  rect(31, 242, 33, 248);
  rect(39, 242, 41, 248);
  rect(47, 242, 49, 248);

  rect(39, 252, 41, 258);
  rect(43, 252, 45, 258);
  rect(47, 252, 49, 258);

  rect(31, 262, 33, 268);
  rect(43, 262, 45, 268);
  rect(47, 262, 49, 268);

  rect(31, 272, 33, 278);
  rect(35, 272, 37, 278);

  rect(31, 282, 33, 288);

  rect(39, 282, 41, 288);
  rect(43, 282, 45, 288);
  rect(47, 282, 49, 288);

  rect(31, 292, 33, 298);
  rect(35, 292, 37, 298);
  rect(39, 292, 41, 298);
  rect(43, 292, 45, 298);
  rect(47, 292, 49, 298);

  rect(75, 222, 77, 228);
  rect(79, 222, 81, 228);

  rect(63, 232, 65, 238);
  rect(75, 232, 77, 238);
  rect(79, 232, 81, 238);

  rect(51, 242, 53, 248);
  rect(55, 242, 57, 248);

  rect(67, 242, 69, 248);

  rect(75, 242, 77, 248);
  rect(79, 242, 81, 248);

  rect(55, 252, 57, 258);
  rect(59, 252, 61, 258);
  rect(63, 252, 65, 258);
  rect(67, 252, 69, 258);

  rect(79, 252, 81, 258);

  rect(51, 262, 53, 268);
  rect(55, 262, 57, 268);
  rect(59, 262, 61, 268);
  rect(63, 262, 65, 268);
  rect(67, 262, 69, 268);
  rect(71, 262, 73, 268);
  rect(75, 262, 77, 268);

  rect(51, 272, 53, 278);
  rect(55, 272, 57, 278);
  rect(59, 272, 61, 278);
  rect(63, 272, 65, 278);
  rect(67, 272, 69, 278);
  rect(71, 272, 73, 278);
  rect(75, 272, 77, 278);

  rect(51, 282, 53, 288);
  rect(55, 282, 57, 288);
  rect(59, 282, 61, 288);
  rect(63, 282, 65, 288);
  rect(67, 282, 69, 288);
  rect(71, 282, 73, 288);
  rect(75, 282, 77, 288);

  rect(51, 292, 53, 298);
  rect(55, 292, 57, 298);
  rect(59, 292, 61, 298);
  rect(63, 292, 65, 298);
  rect(67, 292, 69, 298);
  rect(71, 292, 73, 298);
  rect(75, 292, 77, 298);

  rect(99, 202, 101, 208);
  rect(103, 202, 105, 208);

  rect(99, 212, 101, 218);
  rect(103, 212, 105, 218);

  rect(99, 222, 101, 228);
  rect(107, 222, 109, 228);

  rect(103, 232, 105, 238);
  rect(107, 232, 109, 238);

  rect(99, 242, 101, 248);
  rect(103, 242, 105, 248);
  rect(107, 242, 109, 248);

  //Left Side Front Buildings (Darker Buildings)
  fill(75);
  quad(30, 299, 40, 299, 40, 365, 30, 370);
  quad(40, 270, 60, 270, 60, 360, 40, 365);
  rect(43, 260, 57, 270);
  rect(46, 250, 54, 260);
  rect(48, 230, 52, 250);
  triangle(50, 210, 49, 230, 51, 230);
  quad(60, 280, 65, 280, 65, 355, 60, 360);
  quad(65, 255, 70, 255, 70, 350, 65, 355);
  quad(70, 260, 83, 260, 83, 345, 70, 350);
  rect(98, 240, 105, 342); 
  rect(105, 250, 110, 342);
  rect(110, 230, 115, 342);

  //Left Side Front Buildings (Darker Buildings) Lights
  fill(255, 175, 175, mouseY-100);
  ellipse(50, 210, 4, 4);

  fill(240, 245, 255, mouseY-100);
  rect(31, 302, 33, 308);
  rect(41, 302, 43, 308);
  rect(45, 302, 47, 308);
  rect(55, 302, 57, 308);
  rect(61, 302, 63, 308);
  rect(65, 302, 67, 308);
  rect(81, 302, 83, 308);

  rect(31, 312, 33, 318);
  rect(35, 312, 37, 318);
  rect(45, 312, 47, 318);
  rect(51, 312, 53, 318);
  rect(55, 312, 57, 318);
  rect(65, 312, 67, 318);
  rect(71, 312, 73, 318);
  rect(81, 312, 83, 318);

  rect(31, 322, 33, 328);
  rect(35, 322, 37, 328);
  rect(61, 322, 63, 328);
  rect(65, 322, 67, 328);
  rect(71, 322, 73, 328);
  rect(81, 322, 83, 328);

  rect(31, 332, 33, 338);
  rect(45, 332, 47, 338);
  rect(51, 332, 53, 338);
  rect(55, 332, 57, 338);
  rect(65, 332, 67, 338);
  rect(75, 332, 77, 338);

  rect(41, 342, 43, 348);
  rect(45, 342, 47, 348);
  rect(51, 342, 53, 348);
  rect(61, 342, 63, 348);
  rect(81, 342, 83, 348);

  rect(35, 352, 37, 358);
  rect(51, 352, 53, 358);
  rect(55, 352, 57, 358);
  rect(61, 352, 63, 358);

  rect(31, 362, 33, 368);
  rect(35, 362, 37, 368);
  rect(41, 362, 43, 368);
  rect(45, 362, 47, 368);

  rect(41, 292, 43, 298);
  rect(45, 292, 47, 298);

  rect(65, 292, 67, 298);
  rect(71, 292, 73, 298);
  rect(81, 292, 83, 298);

  rect(41, 282, 43, 288);
  rect(45, 282, 47, 288);
  rect(55, 282, 57, 288);

  rect(41, 272, 43, 278);
  rect(51, 272, 53, 278);
  rect(55, 272, 57, 278);

  rect(75, 282, 77, 288);
  rect(81, 282, 83, 288);

  rect(67, 272, 69, 278);
  rect(71, 272, 73, 278);

  rect(81, 272, 84, 278);

  rect(67, 262, 69, 268);
  rect(71, 262, 73, 268);
  rect(75, 262, 77, 268);

  rect(98, 242, 100, 248);
  rect(102, 242, 104, 248);

  quad(98, 266, 100, 264, 100, 272, 98, 275);
  quad(102, 264, 104, 262, 104, 269, 102, 271);
  quad(110, 260, 112, 258, 112, 264, 110, 266);

  quad(98, 276, 100, 274, 100, 282, 98, 285);
  quad(106, 272, 108, 270, 108, 276, 106, 278);
  quad(110, 270, 112, 268, 112, 274, 110, 276);

  quad(98, 286, 100, 284, 100, 292, 98, 295);
  quad(102, 284, 104, 282, 104, 289, 102, 291);

  quad(102, 294, 104, 292, 104, 299, 102, 301);
  quad(110, 290, 112, 288, 112, 294, 110, 296);

  quad(98, 306, 100, 304, 100, 312, 98, 315);
  quad(102, 304, 104, 302, 104, 309, 102, 311);
  quad(106, 302, 108, 300, 108, 306, 106, 308);

  quad(106, 312, 108, 310, 108, 316, 106, 318);
  quad(110, 310, 112, 308, 112, 314, 110, 316);

  quad(98, 326, 100, 324, 100, 332, 98, 335);
  quad(102, 324, 104, 322, 104, 329, 102, 331);
  quad(110, 320, 112, 318, 112, 324, 110, 326);

  //Right Side Back Buildings (Grey Buldings)
  fill(150);
  rect(290, 230, 295, 342);
  rect(295, 210, 302, 342);
  quad(317, 170, 330, 170, 330, 350, 317, 345); 
  quad(330, 190, 340, 190, 340, 355, 330, 350);
  quad(340, 160, 350, 160, 350, 360, 340, 355);
  rect(342, 140, 348, 160);
  triangle(345, 100, 344, 140, 346, 140); 
  quad(350, 200, 360, 200, 360, 365, 350, 360);
  quad(360, 190, 371, 190, 371, 370, 360, 365);
  rect(365, 180, 373, 190);
  triangle(365, 180, 373, 170, 373, 180);

  //Right Side Back Buildings (Grey Buildings) Lights
  fill(240, 245, 255, mouseY-100);
  rect(292, 232, 294, 238);
  rect(300, 232, 302, 238);

  rect(292, 242, 294, 248);
  rect(296, 242, 298, 248);

  rect(292, 252, 294, 258);
  rect(296, 252, 298, 258);
  rect(300, 252, 302, 258);

  rect(292, 262, 294, 268);

  rect(292, 272, 294, 278);

  rect(296, 222, 298, 228);
  rect(300, 222, 302, 228);

  rect(296, 212, 298, 218);

  rect(318, 202, 320, 208);

  rect(318, 192, 320, 198);
  rect(322, 192, 324, 198);

  rect(318, 182, 320, 188);
  rect(326, 182, 328, 188);

  rect(318, 172, 320, 178);
  rect(322, 172, 324, 178);
  rect(326, 172, 328, 178);

  rect(334, 202, 336, 208);
  rect(338, 202, 340, 208);

  rect(334, 192, 336, 198);
  rect(338, 192, 340, 198);

  fill(160, 255, 255, mouseY-100);
  rect(344, 142, 346, 156);
  rect(342, 162, 344, 218);
  rect(346, 162, 348, 198);

  fill(240, 245, 255, mouseY-100);
  rect(346, 202, 348, 208);
  rect(350, 202, 352, 208);
  rect(354, 202, 356, 208);
  rect(370, 202, 372, 208);

  rect(346, 212, 348, 218);
  rect(354, 212, 356, 218);
  rect(370, 212, 372, 218);

  rect(346, 222, 348, 228);
  rect(370, 222, 372, 228);

  rect(346, 232, 348, 238);
  rect(370, 232, 372, 238);

  rect(342, 242, 344, 248);
  rect(346, 242, 348, 248);
  rect(370, 242, 372, 248);

  rect(342, 252, 344, 258);
  rect(346, 252, 348, 258);
  rect(370, 252, 372, 258);

  rect(342, 262, 344, 268);
  rect(362, 262, 364, 268);
  rect(366, 262, 368, 268);
  rect(370, 262, 372, 268);

  rect(362, 192, 364, 198);
  rect(366, 192, 368, 198);
  rect(370, 192, 372, 198);

  fill(160, 255, 255, mouseY-100);
  ellipse(345, 100, 4, 4);

  //Right Side Front Buildings (Darker Buildings)
  fill(75);
  rect(285, 280, 295, 342);
  rect(295, 255, 302, 342);
  quad(317, 250, 340, 250, 340, 355, 317, 350);
  rect(317, 242, 342, 250);
  rect(317, 218, 344, 242);
  rect(317, 210, 340, 250);
  quad(322, 200, 335, 200, 340, 210, 317, 210);
  rect(322, 195, 335, 200);
  triangle(328, 180, 335, 195, 322, 195);
  quad(340, 270, 350, 270, 350, 360, 340, 355);
  quad(350, 220, 360, 210, 360, 365, 350, 360);
  quad(360, 210, 370, 220, 370, 370, 360, 365);

  //Right Side Front Buildings (Darker Buildings) Clock Tower Lights
  fill(190, 255, 200, mouseY-100);
  rect(320, 212, 322, 218);
  rect(324, 212, 326, 218);
  rect(328, 212, 330, 218);
  rect(332, 212, 334, 218);
  rect(336, 212, 338, 218);

  rect(320, 242, 322, 248);
  rect(324, 242, 326, 248);
  rect(328, 242, 330, 248);
  rect(332, 242, 334, 248);
  rect(336, 242, 338, 248);

  //Right side building Clock Face
  fill(mouseY/4+215, mouseY/4+215, mouseY/4+215);
  ellipse(329, 230, 20, 20);

  //Right Side Front Buildings (Darker Buildings) Lights
  fill(240, 245, 255, mouseY-100);
  rect(340, 272, 342, 278);
  rect(344, 272, 346, 278);
  rect(348, 272, 350, 278);
  rect(356, 272, 358, 278);
  rect(364, 272, 366, 278);
  rect(368, 272, 370, 278);

  rect(340, 282, 342, 288);
  rect(352, 282, 354, 288);
  rect(356, 282, 358, 288);
  rect(368, 282, 370, 288);

  rect(324, 292, 326, 298);
  rect(328, 292, 330, 298);
  rect(332, 292, 334, 298);
  rect(336, 292, 338, 298);
  rect(356, 292, 358, 298);
  rect(360, 292, 362, 298);
  rect(364, 292, 366, 298);

  rect(324, 302, 326, 308);
  rect(332, 302, 334, 308);
  rect(336, 302, 338, 308);
  rect(340, 302, 342, 308);
  rect(348, 302, 350, 308);
  rect(352, 302, 354, 308);
  rect(356, 302, 358, 308);
  rect(368, 302, 370, 308);

  rect(320, 312, 322, 318);
  rect(336, 312, 338, 318);
  rect(348, 312, 350, 318);
  rect(352, 312, 354, 318);
  rect(356, 312, 358, 318);
  rect(360, 312, 362, 318);
  rect(368, 312, 370, 318);

  rect(320, 322, 322, 328);
  rect(328, 322, 330, 328);
  rect(332, 322, 334, 328);
  rect(348, 322, 350, 328);
  rect(352, 322, 354, 328);
  rect(364, 322, 366, 328);

  rect(320, 332, 322, 338);
  rect(352, 332, 354, 338);
  rect(356, 332, 358, 338);
  rect(360, 332, 362, 338);
  rect(368, 332, 370, 338);

  rect(336, 342, 338, 348);
  rect(344, 342, 346, 348);
  rect(348, 342, 350, 348);
  rect(352, 342, 354, 348);
  rect(356, 342, 358, 348);
  rect(368, 342, 370, 348);

  rect(348, 352, 350, 358);
  rect(356, 352, 358, 358);
  rect(368, 352, 370, 358);

  rect(360, 362, 362, 368);
  rect(364, 362, 366, 368);

  quad(288, 283, 290, 285, 290, 292, 288, 290);
  quad(292, 285, 294, 287, 294, 295, 292, 293);
  quad(296, 287, 298, 289, 298, 298, 296, 296);

  quad(296, 297, 298, 299, 298, 308, 296, 306);
  quad(300, 299, 302, 301, 302, 311, 300, 309);

  quad(288, 303, 290, 305, 290, 312, 288, 310);
  quad(292, 305, 294, 307, 294, 315, 292, 313);
  quad(300, 309, 302, 311, 302, 321, 300, 319);

  quad(292, 315, 294, 317, 294, 325, 292, 323);
  quad(300, 319, 302, 321, 302, 331, 300, 329);

  quad(296, 327, 298, 329, 298, 338, 296, 336);
  quad(300, 329, 302, 321, 302, 341, 300, 339);

  strokeWeight(2);
  stroke(255, 200, 200, mouseY-100);
  line(350, 220, 360, 230);
  line(370, 220, 360, 230);
  stroke(255, 255, 180, mouseY-100);
  line(360, 230, 350, 240);
  line(360, 230, 370, 240);
  stroke(180, 255, 180, mouseY-100);
  line(350, 240, 360, 250);
  line(370, 240, 360, 250);
  stroke(130, 200, 255, mouseY-100);
  line(360, 250, 350, 260);
  line(360, 250, 370, 260);
  stroke(80, 130, 255, mouseY-100);
  line(350, 260, 360, 270);
  line(370, 260, 360, 270);

  stroke(255, 180, 255, mouseY-100);
  line(360, 210, 360, 269);

  stroke(180, 200, 255, mouseY-100);
  line(350, 220, 350, 269);
  line(370, 220, 370, 269);
  line(350, 220, 360, 210);
  line(360, 210, 370, 220);

  //Trapezoid Pavement (Infront of buildings & below road in center window)
  fill(225);
  noStroke();
  quad(116, 329, 285, 329, 307, 342, 98, 342);

  //Ferris Wheel Back Pillars
  fill(175-(mouseY/15), 175-(mouseY/15), 175-(mouseY/15));
  quad(200, 200, 155, 290, 140, 290, 196, 196);
  quad(200, 200, 245, 290, 260, 290, 204, 196);

  //Ferris Wheel Carts
  //1 Cart
  fill(255, (mouseY*(150-255)/400+255), (mouseY*(150-255)/400+255));
  ellipse((200+82*-sin(radians(mouseY/1))), (200+82*cos(radians(mouseY/1))), 18, 18);

  //2 Cart
  fill(255, (mouseY*(182-255)/400+255), (mouseY*(150-255)/400+255));
  ellipse((200+82*cos(1.98+radians(mouseY/1))), (200+82*sin(1.98+radians(mouseY/1))), 18, 18);

  //3 Cart
  fill(255, (mouseY*(190-255)/400+255), (mouseY*(130-255)/400+255));
  ellipse((200+82*cos(2.38+radians(mouseY/1))), (200+82*sin(2.38+radians(mouseY/1))), 18, 18);

  //4 Cart
  fill(255, (mouseY*(224-255)/400+255), (mouseY*(176-255)/400+255));
  ellipse((200+82*cos(2.76+radians(mouseY/1))), (200+82*sin(2.76+radians(mouseY/1))), 18, 18);

  //5 Cart
  fill(255, (mouseY*(244-255)/400+255), (mouseY*(147-255)/400+255));
  ellipse((200+82*-cos(radians(mouseY/1))), (200+82*-sin(radians(mouseY/1))), 18, 18);

  //6 Cart
  fill((mouseY*(236-255)/400+255), 255, (mouseY*(147-255)/400+255));
  ellipse((200+82*-sin(1.98+radians(mouseY/1))), (200+82*cos(1.98+radians(mouseY/1))), 18, 18);

  //7 Cart
  fill((mouseY*(200-255)/400+255), 255, (mouseY*(147-255)/400+255));
  ellipse((200+82*-sin(2.39+radians(mouseY/1))), (200+82*cos(2.39+radians(mouseY/1))), 18, 18);

  //8 Cart
  fill((mouseY*(147-255)/400+255), 255, (mouseY*(198-255)/400+255));
  ellipse((200+82*-sin(2.76+radians(mouseY/1))), (200+82*cos(2.76+radians(mouseY/1))), 18, 18);

  //9 Cart
  fill((mouseY*(156-255)/400+255), 255, (mouseY*(242-255)/400+255));
  ellipse((200+82*sin(radians(mouseY/1))), (200+82*-cos(radians(mouseY/1))), 18, 18);

  //10 Cart
  fill((mouseY*(132-255)/400+255), (mouseY*(242-255)/400+255), 255);
  ellipse((200+82*-cos(1.98+radians(mouseY/1))), (200+82*-sin(1.98+radians(mouseY/1))), 18, 18);

  //11 Cart
  fill((mouseY*(132-255)/400+255), (mouseY*(216-255)/400+255), 255);
  ellipse((200+82*-cos(2.38+radians(mouseY/1))), (200+82*-sin(2.38+radians(mouseY/1))), 18, 18);

  //12 Cart
  fill((mouseY*(179-255)/400+255), (mouseY*(195-255)/400+255), 255);
  ellipse((200+82*-cos(2.76+radians(mouseY/1))), (200+82*-sin(2.76+radians(mouseY/1))), 18, 18);

  //13 Cart
  fill((mouseY*(157-255)/400+255), (mouseY*(155-255)/400+255), 255);
  ellipse((200+82*cos(radians(mouseY/1))), (200+82*sin(radians(mouseY/1))), 18, 18);

  //14 Cart
  fill((mouseY*(185-255)/400+255), (mouseY*(178-255)/400+255), 255);
  ellipse((200+82*sin(1.98+radians(mouseY/1))), (200+82*-cos(1.98+radians(mouseY/1))), 18, 18);

  //15 Cart
  fill((mouseY*(216-255)/400+255), (mouseY*(178-255)/400+255), 255);
  ellipse((200+82*sin(2.38+radians(mouseY/1))), (200+82*-cos(2.38+radians(mouseY/1))), 18, 18);

  //16 Cart
  fill(255, (mouseY*(206-255)/400+255), (mouseY*(253-255)/400+255));
  ellipse((200+82*sin(2.76+radians(mouseY/1))), (200+82*-cos(2.76+radians(mouseY/1))), 18, 18);

  //Ferris Wheel Doors (Same order as Ferris Wheel Carts)
  noFill();
  stroke(175);
  strokeWeight(1);
  rectMode(CENTER);

  rect((200+82*-sin(radians(mouseY/1))), (200+82*cos(radians(mouseY/1))), 6, 13);
  rect((200+82*cos(1.98+radians(mouseY/1))), (200+82*sin(1.98+radians(mouseY/1))), 6, 13);
  rect((200+82*cos(2.38+radians(mouseY/1))), (200+82*sin(2.38+radians(mouseY/1))), 6, 13);
  rect((200+82*cos(2.76+radians(mouseY/1))), (200+82*sin(2.76+radians(mouseY/1))), 6, 13);
  rect((200+82*-cos(radians(mouseY/1))), (200+82*-sin(radians(mouseY/1))), 6, 13);
  rect((200+82*-sin(1.98+radians(mouseY/1))), (200+82*cos(1.98+radians(mouseY/1))), 6, 13);
  rect((200+82*-sin(2.38+radians(mouseY/1))), (200+82*cos(2.38+radians(mouseY/1))), 6, 13);
  rect((200+82*-sin(2.76+radians(mouseY/1))), (200+82*cos(2.76+radians(mouseY/1))), 6, 13);
  rect((200+82*sin(radians(mouseY/1))), (200+82*-cos(radians(mouseY/1))), 6, 13);
  rect((200+82*-cos(1.98+radians(mouseY/1))), (200+82*-sin(1.98+radians(mouseY/1))), 6, 13);
  rect((200+82*-cos(2.38+radians(mouseY/1))), (200+82*-sin(2.38+radians(mouseY/1))), 6, 13);
  rect((200+82*-cos(2.76+radians(mouseY/1))), (200+82*-sin(2.76+radians(mouseY/1))), 6, 13);
  rect((200+82*cos(radians(mouseY/1))), (200+82*sin(radians(mouseY/1))), 6, 13);
  rect((200+82*sin(1.98+radians(mouseY/1))), (200+82*-cos(1.98+radians(mouseY/1))), 6, 13);
  rect((200+82*sin(2.38+radians(mouseY/1))), (200+82*-cos(2.38+radians(mouseY/1))), 6, 13);
  rect((200+82*sin(2.76+radians(mouseY/1))), (200+82*-cos(2.76+radians(mouseY/1))), 6, 13);

  //Ferris Wheel Windows (Same order as Ferris Wheel Carts)
  fill(227, 255, 253);
  stroke(200);

  arc((200+82*-sin(radians(mouseY/1))), (200+82*cos(radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*cos(1.98+radians(mouseY/1))), (200+82*sin(1.98+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*cos(2.38+radians(mouseY/1))), (200+82*sin(2.38+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*cos(2.76+radians(mouseY/1))), (200+82*sin(2.76+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*-cos(radians(mouseY/1))), (200+82*-sin(radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*-sin(1.98+radians(mouseY/1))), (200+82*cos(1.98+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*-sin(2.38+radians(mouseY/1))), (200+82*cos(2.38+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*-sin(2.76+radians(mouseY/1))), (200+82*cos(2.76+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*sin(radians(mouseY/1))), (200+82*-cos(radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*-cos(1.98+radians(mouseY/1))), (200+82*-sin(1.98+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*-cos(2.38+radians(mouseY/1))), (200+82*-sin(2.38+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*-cos(2.76+radians(mouseY/1))), (200+82*-sin(2.76+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*cos(radians(mouseY/1))), (200+82*sin(radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*sin(1.98+radians(mouseY/1))), (200+82*-cos(1.98+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*sin(2.38+radians(mouseY/1))), (200+82*-cos(2.38+radians(mouseY/1))), 15, 15, radians(180), radians(360));
  arc((200+82*sin(2.76+radians(mouseY/1))), (200+82*-cos(2.76+radians(mouseY/1))), 15, 15, radians(180), radians(360));

  //Ferris Wheel 
  stroke((mouseY*(226-255)/400+255), (mouseY*(200-255)/400+255), 255);
  strokeWeight(4);
  noFill();
  ellipse(200, 200, 144, 144);

  strokeWeight(1);
  stroke((mouseY*(200-255)/400+255), (mouseY*(252-255)/400+255), 255);
  ellipse(200, 200, 114, 114);
  stroke((mouseY*(200-255)/400+255), 255, (mouseY*(205-255)/400+255));
  ellipse(200, 200, 84, 84);
  stroke((mouseY*(254-255)/400+255), 255, (mouseY*(175-255)/400+255));
  ellipse(200, 200, 54, 54);

  line(200, 130, 200, 270);
  line(130, 200, 270, 200);
  line(250, 150, 150, 250);
  line(150, 150, 250, 250);

  //Ferris Wheel Pillars
  fill(255, (mouseY*(238-255)/400+255), (mouseY*(283-255)/400+255));
  noStroke();
  quad(200, 200, 150, 290, 140, 290, 196, 196);
  quad(200, 200, 250, 290, 260, 290, 204, 196);

  //Ferris Wheel Center Point
  fill(255, (mouseY*(200-255)/400+255), (mouseY*(200-255)/400+255));
  ellipse(200, 200, 25, 25);

  //Ferris Wheel Stair Case Railings
  noFill();
  stroke(100);
  rectMode(CORNERS);
  rect(188, 282, 190, 287);
  rect(190, 282, 192, 287);
  rect(192, 282, 194, 287);
  rect(194, 282, 196, 287);
  rect(196, 282, 198, 287);
  rect(198, 282, 200, 287);
  rect(200, 282, 202, 287);
  rect(202, 282, 204, 287);
  rect(204, 282, 206, 287);
  rect(206, 282, 208, 287);
  line(188, 282, 187, 282);
  line(187, 282, 179, 288);
  line(179, 288, 177, 288);
  line(186, 283, 186, 290);
  line(184, 285, 184, 290);
  line(182, 286, 182, 294);
  line(180, 287, 180, 294);
  line(178, 288, 178, 296);

  //Ferris Wheel Staircase
  fill(150);
  noStroke();
  rect(179, 293, 210, 297);
  rect(183, 290, 210, 294);
  rect(187, 287, 210, 290);

  //Ferris Wheel Control Box
  quad(192, 283, 196, 280, 196, 288, 192, 288);

  //Clouds
  fill(255);
  ellipse(330, 87, 12, 12);
  ellipse(342, 82, 25, 25);
  ellipse(360, 77, 35, 35);

  //Left Bottom Window Frame
  fill(255);
  stroke(230);
  quad(20, 20, 29, 33, 29, 366, 20, 380);
  quad(83, 55, 90, 50, 90, 350, 83, 345);
  quad(20, 20, 90, 50, 83, 55, 29, 33);
  quad(29, 366, 83, 345, 90, 350, 20, 380);

  //Center Window Frame
  quad(90, 50, 98, 58, 98, 342, 90, 350);
  quad(302, 58, 310, 50, 310, 350, 302, 342);
  quad(90, 50, 310, 50, 302, 58, 98, 58);
  quad(98, 342, 302, 342, 310, 350, 90, 350);

  //Right Window Frame
  quad(310, 50, 317, 55, 317, 345, 310, 350);
  quad(380, 20, 380, 380, 371, 366, 371, 33);
  quad(310, 50, 380, 20, 371, 33, 317, 55);
  quad(371, 366, 317, 345, 310, 350, 380, 380);

  // Kitty Body
  fill(150);
  noStroke();
  ellipseMode(CORNERS);
  ellipse(240, 315, 300, 370);  

  //Kitty Arms
  stroke(150);
  strokeWeight(15);
  line(215, 358, 223, 367);
  line(250, 354, 243, 367);

  //Kitty Paws
  ellipseMode(CENTER);
  fill(245);
  noStroke();
  ellipse(242, 372, 15, 15);
  ellipse(224, 372, 15, 15);

  //Kitty Head
  fill(175);
  triangle(240, 340, 260, 340, 250, 350);
  triangle(200, 340, 220, 340, 210, 350);
  triangle(230, 362, 260, 350, 230, 330);
  triangle(230, 362, 200, 350, 230, 330);

  triangle(253, 310, 250, 330, 230, 321);
  triangle(207, 310, 210, 330, 230, 321);

  ellipse(230, 340, 45, 45);

  //Kitty Eyes
  fill(255);
  ellipse(237, 338, 16, 16);
  ellipse(221, 338, 16, 16);  

  fill(133, 208, 255);
  ellipse(235+mouseX/65, 336+mouseY/65, 7, 7);
  ellipse(219+mouseX/65, 336+mouseY/65, 7, 7);  

  //Kitty Nose
  fill(170);
  ellipse(230, 349, 17, 17);

  fill(254, 237, 255);
  triangle(227, 345, 233, 345, 230, 348 );

  stroke(50);
  strokeWeight(1);
  line(224, 348, 215, 348);
  line(236, 348, 244, 348);
  line(224, 351, 215, 351);
  line(236, 351, 244, 351);

  //Tail
  fill(150);
  noStroke();
  ellipse(300, 340, 15, 15);
  ellipse(305, 342, 15, 15);
  ellipse(308, 344, 15, 15);
  ellipse(310, 346, 15, 15);
  ellipse(313, 350, 15, 15);
  ellipse(314, 354, 15, 15);
  ellipse(314, 358, 15, 15);
  ellipse(313, 362, 15, 15);
  ellipse(313, 362, 15, 15);
  ellipse(311, 366, 15, 15);
  ellipse(309, 368, 15, 15);
  ellipse(306, 371, 15, 15);
  ellipse(302, 374, 15, 15);
  ellipse(300, 376, 15, 15);
  ellipse(298, 378, 15, 15);
  ellipse(297, 380, 15, 15);
  ellipse(298, 382, 15, 15);

  fill(245);
  ellipse(298, 382, 15, 15);
}

//Kitty Eyes Blink when mouse is clicked
void mousePressed() {
  frameRate(5);
  fill(150);
  ellipse(237, 338, 16, 16);
  ellipse(221, 338, 16, 16);
}