Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
/*

"Moonlit Woods"

Made by: Kent Anderson-Brettell

- In the moonlit woods, you control the wolf. By moving your mouse in any direction the
wolf will follow its every movement.
- The stars will move slightly across the sky as you move the mouse left and right across the screen.
- The moon will rise and set, although never fully, as well as make its way across
the sky as you move the mouse, rising and setting with upwards and downwards movements,
and progressing across the sky with left and right movements.
- When you click the mouse, the wolf will open its mouth and bark for you.
- When you press a key on the keyboard, the wolf will open its mouth and howl for you.

*/

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

void draw() {
  //Set Frame Rate to 60 fps
  frameRate(60);
  
  //set Ellipses and rects to center mode
  ellipseMode(CENTER);
  rectMode(CENTER);
  
  // Draw a background, then draw a sky
  //WHY DID I DO IT THIS WAY, I DON'T WANT TO HAVE TO REDRAW THIS, 
  //SO IT WILL STAY IN THIS STUPID ORDER
  background(1, 74, 29);
  strokeWeight(1);
  noStroke();
  fill(2, 65, 72);
  rect(200, 125, 400, 250);
  
  //Draw Stars, and set them to move slightly
  fill(232, 225, 183, 50);
  ellipse(10+mouseX/10, 30, 3, 3);
  ellipse(156+mouseX/10, 75, 3, 3);
  ellipse(75+mouseX/10, 140, 3, 3);
  ellipse(226+mouseX/10, 200, 3, 3);
  ellipse(310+mouseX/10, 100, 3, 3);
  ellipse(200+mouseX/10, 200, 3, 3);
  ellipse(40+mouseX/10, 10, 3, 3);
  ellipse(87+mouseX/10, 96, 3, 3);
  ellipse(375+mouseX/10, 45, 3, 3);
  ellipse(76+mouseX/10, 67, 3, 3);
  ellipse(105+mouseX/10, 99, 3, 3);
  
  
  //Draw Moon, and tie its movements to the mouse
  fill(232, 225, 183);
  ellipse(20+mouseX/1.1, 10+mouseY/3, 50, 50);
  fill(232, 225, 183, 75);
  ellipse(20+mouseX/1.1, 10+mouseY/3, 75, 75);
  fill(232, 225, 183, 40);
  ellipse(20+mouseX/1.1, 10+mouseY/3, 100, 100);
  
 
  
  //Draw (way too many pieces of) trees
  fill(58, 32, 3);
  rect(50, 240, 20, 40);
  rect(20, 265, 20, 40);
  rect(80, 265, 20, 40);
  rect(350, 240, 20, 40);
  rect(380, 265, 20, 40);
  rect(320, 265, 20, 40);
  fill(1, 74, 29);
  stroke(1, 49, 19);
  
  triangle(50, 195, 83, 245, 17, 245);
  triangle(50, 185, 80, 230, 20, 230);
  triangle(50, 175, 78, 215, 22, 215);
  triangle(50, 165, 75, 200, 25, 200);
  triangle(50, 155, 73, 185, 27, 185);
  triangle(50, 150, 70, 170, 30, 170);
  
  triangle(20, 225, 53, 275, -13, 275);
  triangle(20, 215, 50, 260, -10, 260);
  triangle(20, 205, 48, 245, -8, 245);
  triangle(20, 195, 45, 230,-5, 230);
  triangle(20, 185, 43, 215,-3, 215);
  triangle(20, 180, 40, 200, 0, 200);

  triangle(80, 225, 113, 275, 47, 275);
  triangle(80, 215, 110, 260, 50, 260);
  triangle(80, 205, 108, 245, 52, 245);
  triangle(80, 195, 105, 230, 55, 230);
  triangle(80, 185, 103, 215, 57, 215);
  triangle(80, 180, 100, 200, 60, 200);
  
  //Draw the Right trees
  triangle(350, 195, 317, 245, 383, 245);
  triangle(350, 185, 320, 230, 380, 230);
  triangle(350, 175, 322, 215, 378, 215);
  triangle(350, 165, 325, 200, 375, 200);
  triangle(350, 155, 327, 185, 373, 185);
  triangle(350, 150, 330, 170, 370, 170);
  
  triangle(380, 225, 347, 275, 413, 275);
  triangle(380, 215, 350, 260, 410, 260);
  triangle(380, 205, 352, 245, 408, 245);
  triangle(380, 195, 355, 230, 405, 230);
  triangle(380, 185, 357, 215, 403, 215);
  triangle(380, 180, 360, 200, 400, 200);

  triangle(320, 225, 287, 275, 353, 275);
  triangle(320, 215, 290, 260, 350, 260);
  triangle(320, 205, 292, 245, 348, 245);
  triangle(320, 195, 295, 230, 345, 230);
  triangle(320, 185, 297, 215, 343, 215);
  triangle(320, 180, 300, 200, 340, 200);
  
  
  //Draw Kingsley's hair behind the head
  noStroke();
  fill(48, 40, 29);
  quad(mouseX-79, mouseY-36, mouseX-72, mouseY-10, mouseX-55, mouseY+110, mouseX-80, mouseY+120);
  quad(mouseX-56, mouseY+110, mouseX-73, mouseY-10, mouseX, mouseY, mouseX, mouseY+88);
  quad(mouseX+79, mouseY-36, mouseX+72, mouseY-10, mouseX+55, mouseY+110, mouseX+80, mouseY+120);
  quad(mouseX+56, mouseY+110, mouseX+73, mouseY-10, mouseX, mouseY, mouseX, mouseY+88); 
  
  
  //Draw Kingsley's head base
  fill(237, 214, 183);
  ellipse(mouseX, mouseY, 150, 150);
  
  //Draw Kingsley's grey facial colour
  fill(138, 129, 112);
  arc(mouseX, mouseY, 150, 150, HALF_PI+QUARTER_PI+QUARTER_PI/1.5, TWO_PI+QUARTER_PI/3);
  
  //Draw Kingsley's 'mask'
  fill(152, 120, 73);
  ellipse(mouseX-30, mouseY-20, 40, 40);
  ellipse(mouseX+30, mouseY-20, 40, 40);
  ellipse(mouseX, mouseY+20, 18, 18);
  quad(mouseX-40, mouseY-5, mouseX-5, mouseY+27, mouseX, mouseY+10, mouseX-10, mouseY-20);
  quad(mouseX+40, mouseY-5, mouseX+5, mouseY+27, mouseX, mouseY+10, mouseX+10, mouseY-20);
  rect(mouseX, mouseY, 15, 20);
  
  //Draw Kingsley's eye dots
  fill(237, 214, 183);
  ellipse(mouseX-25, mouseY-30, 10, 10);
  triangle(mouseX-30, mouseY-10, mouseX-25, mouseY-23, mouseX-18, mouseY-3);
  ellipse(mouseX+25, mouseY-30, 10, 10);
  triangle(mouseX+30, mouseY-10, mouseX+25, mouseY-23, mouseX+18, mouseY-3);
  
  
  //Draw Kingsley's eyes
  fill(255);
  stroke(0);
  ellipse(mouseX-30, mouseY-20, 15, 20);
  ellipse(mouseX+30, mouseY-20, 15, 20);
  
  fill (255, 234, 107);
  ellipse(mouseX-30, mouseY-17, 7, 10);
  ellipse(mouseX+30, mouseY-17, 7, 10);
  
  fill(0);
  ellipse(mouseX-30, mouseY-15, 2, 2);
  ellipse(mouseX+30, mouseY-15, 2, 2);
  
  //Draw Kingsley's nose
  fill(48, 40, 29);
  stroke(48, 40, 29);
  strokeWeight(2);
  triangle(mouseX-18, mouseY+15, mouseX+18, mouseY+15, mouseX, mouseY+32);
  line(mouseX, mouseY+31, mouseX, mouseY+42);
  noFill();
  curve(mouseX-20, mouseY, mouseX-30, mouseY+42, mouseX, mouseY+42, mouseX-10, mouseY);
  curve(mouseX+20, mouseY, mouseX+30, mouseY+42, mouseX, mouseY+42, mouseX+10, mouseY);
 
 //Draw Kingsley's ears
  noStroke();
  fill(116, 63, 45);
  triangle(mouseX-70, mouseY-25, mouseX-70, mouseY-110, mouseX-30, mouseY-69);
  triangle(mouseX+70, mouseY-25, mouseX+70, mouseY-110, mouseX+30, mouseY-69);
  
  fill(237, 214, 183);
  triangle(mouseX-60, mouseY-35, mouseX-60, mouseY-90, mouseX-35, mouseY-65);
  triangle(mouseX+60, mouseY-35, mouseX+60, mouseY-90, mouseX+35, mouseY-65);
  
  //Draw Kingsley's hair
  fill(48, 40, 29);
  quad(mouseX, mouseY-85, mouseX, mouseY-65, mouseX-35, mouseY-65, mouseX-35, mouseY-80);
  quad(mouseX-35, mouseY-65, mouseX-35, mouseY-80, mouseX-80, mouseY-35, mouseX-65, mouseY-20);
  triangle(mouseX-55, mouseY-45, mouseX-5, mouseY-75, mouseX-35, mouseY-75);
  triangle(mouseX-80, mouseY-36, mouseX-65, mouseY-21, mouseX-73, mouseY-10);

  quad(mouseX, mouseY-85, mouseX, mouseY-65, mouseX+35, mouseY-65, mouseX+35, mouseY-80);
  quad(mouseX+35, mouseY-65, mouseX+35, mouseY-80, mouseX+80, mouseY-35, mouseX+65, mouseY-20);
  triangle(mouseX+55, mouseY-45, mouseX+5, mouseY-75, mouseX+35, mouseY-75);
  triangle(mouseX+80, mouseY-36, mouseX+65, mouseY-21, mouseX+73, mouseY-10);
  
  //Draw Kingsley's glasses
  strokeWeight(2);
  stroke(0);
  noFill();
  curve(mouseX-5, mouseY+35, mouseX-15, mouseY-5, mouseX+15, mouseY-5, mouseX+5, mouseY+35);
  fill(145, 241, 255, 100);
  rect(mouseX-30, mouseY-5, 30, 17);
  rect(mouseX+30, mouseY-5, 30, 17);

  //Draw Kingsley's cheek fluff
  noStroke();
  fill(48, 40, 29);
  triangle(mouseX-60, mouseY+19, mouseX-75, mouseY+19, mouseX-75, mouseY-15);
  triangle(mouseX+60, mouseY+19, mouseX+75, mouseY+19, mouseX+75, mouseY-15);

} 

void mousePressed() {
 
  //Set Frame Rate to 1fps so that this stuff is visible
  frameRate(1);
  
 
  //redraw head so as to not cause overlay during changes to mouth
   //Draw Kingsley's hair back
   strokeWeight(1);
  noStroke();
  fill(48, 40, 29);
  quad(mouseX-79, mouseY-36, mouseX-72, mouseY-10, mouseX-55, mouseY+110, mouseX-80, mouseY+120);
  quad(mouseX-56, mouseY+110, mouseX-73, mouseY-10, mouseX, mouseY, mouseX, mouseY+88);
  quad(mouseX+79, mouseY-36, mouseX+72, mouseY-10, mouseX+55, mouseY+110, mouseX+80, mouseY+120);
  quad(mouseX+56, mouseY+110, mouseX+73, mouseY-10, mouseX, mouseY, mouseX, mouseY+88); 
  
  
  //Draw Kingsley's head base
  fill(237, 214, 183);
  ellipse(mouseX, mouseY, 150, 150);
  
  //Draw Kingsley's grey facial colour
  fill(138, 129, 112);
  arc(mouseX, mouseY, 150, 150, HALF_PI+QUARTER_PI+QUARTER_PI/1.5, TWO_PI+QUARTER_PI/3);
  
  //Draw Kingsley's 'mask'
  fill(152, 120, 73);
  ellipse(mouseX-30, mouseY-20, 40, 40);
  ellipse(mouseX+30, mouseY-20, 40, 40);
  ellipse(mouseX, mouseY+20, 18, 18);
  quad(mouseX-40, mouseY-5, mouseX-5, mouseY+27, mouseX, mouseY+10, mouseX-10, mouseY-20);
  quad(mouseX+40, mouseY-5, mouseX+5, mouseY+27, mouseX, mouseY+10, mouseX+10, mouseY-20);
  rect(mouseX, mouseY, 15, 20);
  
  //Draw Kingsley's eye dots
  fill(237, 214, 183);
  ellipse(mouseX-25, mouseY-30, 10, 10);
  triangle(mouseX-30, mouseY-10, mouseX-25, mouseY-23, mouseX-18, mouseY-3);
  ellipse(mouseX+25, mouseY-30, 10, 10);
  triangle(mouseX+30, mouseY-10, mouseX+25, mouseY-23, mouseX+18, mouseY-3);
  
  
  //Draw Kingsley's eyes
  fill(255);
  stroke(0);
  ellipse(mouseX-30, mouseY-20, 15, 20);
  ellipse(mouseX+30, mouseY-20, 15, 20);
  
  fill (255, 234, 107);
  ellipse(mouseX-30, mouseY-17, 7, 10);
  ellipse(mouseX+30, mouseY-17, 7, 10);
  
  fill(0);
  ellipse(mouseX-30, mouseY-15, 2, 2);
  ellipse(mouseX+30, mouseY-15, 2, 2);
  
  //****Draw Kingsley's open mouth****
  noStroke();
  fill(237, 214, 183);
  rect(mouseX, mouseY+62, 45, 55);
  fill(0);
  rect(mouseX, mouseY+62, 33, 40);
  fill(237, 121, 82);
  rect(mouseX, mouseY+62, 28, 35);
  
  //Teeth
  fill(255);
  triangle(mouseX-8, mouseY+80, mouseX, mouseY+80, mouseX-4, mouseY+72);
  triangle(mouseX-8, mouseY+80, mouseX-16, mouseY+80, mouseX-12, mouseY+72);
  triangle(mouseX+8, mouseY+80, mouseX, mouseY+80, mouseX+4, mouseY+72);
  triangle(mouseX+8, mouseY+80, mouseX+16, mouseY+80, mouseX+12, mouseY+72);
  
  //Cover up the extra mouth parts
  fill(237, 214, 183);
   curve(mouseX-20, mouseY-20, mouseX-30, mouseY+42, mouseX, mouseY+42, mouseX-10, mouseY-20);
  curve(mouseX+20, mouseY-20, mouseX+30, mouseY+42, mouseX, mouseY+42, mouseX+10, mouseY-20);
  
  
  //*****Draw Kingsley's nose/mouth REDRAW more happy*****
  fill(48, 40, 29);
  stroke(48, 40, 29);
  strokeWeight(2);
  triangle(mouseX-18, mouseY+15, mouseX+18, mouseY+15, mouseX, mouseY+32);
  line(mouseX, mouseY+31, mouseX, mouseY+42);
  noFill();
  curve(mouseX-20, mouseY-20, mouseX-30, mouseY+42, mouseX, mouseY+42, mouseX-10, mouseY-20);
  curve(mouseX+20, mouseY-20, mouseX+30, mouseY+42, mouseX, mouseY+42, mouseX+10, mouseY-20);
 
 //Draw Kingsley's ears
  noStroke();
  fill(116, 63, 45);
  triangle(mouseX-70, mouseY-25, mouseX-70, mouseY-110, mouseX-30, mouseY-69);
  triangle(mouseX+70, mouseY-25, mouseX+70, mouseY-110, mouseX+30, mouseY-69);
  
  fill(237, 214, 183);
  triangle(mouseX-60, mouseY-35, mouseX-60, mouseY-90, mouseX-35, mouseY-65);
  triangle(mouseX+60, mouseY-35, mouseX+60, mouseY-90, mouseX+35, mouseY-65);
  
  //Draw Kingsley's hair
  fill(48, 40, 29);
  quad(mouseX, mouseY-85, mouseX, mouseY-65, mouseX-35, mouseY-65, mouseX-35, mouseY-80);
  quad(mouseX-35, mouseY-65, mouseX-35, mouseY-80, mouseX-80, mouseY-35, mouseX-65, mouseY-20);
  triangle(mouseX-55, mouseY-45, mouseX-5, mouseY-75, mouseX-35, mouseY-75);
  triangle(mouseX-80, mouseY-36, mouseX-65, mouseY-21, mouseX-73, mouseY-10);

  quad(mouseX, mouseY-85, mouseX, mouseY-65, mouseX+35, mouseY-65, mouseX+35, mouseY-80);
  quad(mouseX+35, mouseY-65, mouseX+35, mouseY-80, mouseX+80, mouseY-35, mouseX+65, mouseY-20);
  triangle(mouseX+55, mouseY-45, mouseX+5, mouseY-75, mouseX+35, mouseY-75);
  triangle(mouseX+80, mouseY-36, mouseX+65, mouseY-21, mouseX+73, mouseY-10);
  
  //Draw Kingsley's glasses
  strokeWeight(2);
  stroke(0);
  noFill();
  curve(mouseX-5, mouseY+35, mouseX-15, mouseY-5, mouseX+15, mouseY-5, mouseX+5, mouseY+35);
  fill(145, 241, 255, 100);
  rect(mouseX-30, mouseY-5, 30, 17);
  rect(mouseX+30, mouseY-5, 30, 17);

  //Draw Kingsley's cheek fluff
  noStroke();
  fill(48, 40, 29);
  triangle(mouseX-60, mouseY+19, mouseX-75, mouseY+19, mouseX-75, mouseY-15);
  triangle(mouseX+60, mouseY+19, mouseX+75, mouseY+19, mouseX+75, mouseY-15);
 
  
  //Text Box
  //strokeWeight(4);
  //stroke(0);
  fill(255);
  rect(322, 50, 150, 100);
  noStroke();
  triangle(247, 80, 240, 150, 290, 95);
  
  //W
  fill(0);
  quad(252, 25, 257, 25, 265, 75, 265, 85); 
  quad(265, 85, 265, 75, 270, 25, 273, 25);
  quad(270, 25, 273, 25, 278, 75, 278, 85);
  quad(278, 85, 278, 75, 283, 25, 288, 25);
  
  //F
  rect(342, 54, 3, 58);
  rect(355, 25, 30, 3);
  rect(355, 54, 30, 3);
  
  //!
  ellipse(385, 80, 10, 10);
  quad(380, 70, 390, 70, 392, 25, 378, 25);
  
  //OO
  strokeWeight(3);
  stroke(0);
  fill(255);
  ellipse(300, 54, 20, 58);
  ellipse(325, 54, 20, 58);
  
 
}


void keyPressed() {
  
  //Set frame rate to 1fps so this stuff is visible
  frameRate(1);
  
  //redraw head so as to not cause overlay during changes to mouth
   //Draw Kingsley's hair back
   strokeWeight(1);
  noStroke();
  fill(48, 40, 29);
  quad(mouseX-79, mouseY-36, mouseX-72, mouseY-10, mouseX-55, mouseY+110, mouseX-80, mouseY+120);
  quad(mouseX-56, mouseY+110, mouseX-73, mouseY-10, mouseX, mouseY, mouseX, mouseY+88);
  quad(mouseX+79, mouseY-36, mouseX+72, mouseY-10, mouseX+55, mouseY+110, mouseX+80, mouseY+120);
  quad(mouseX+56, mouseY+110, mouseX+73, mouseY-10, mouseX, mouseY, mouseX, mouseY+88); 
  
  
  //Draw Kingsley's head base
  fill(237, 214, 183);
  ellipse(mouseX, mouseY, 150, 150);
  
  //Draw Kingsley's grey facial colour
  fill(138, 129, 112);
  arc(mouseX, mouseY, 150, 150, HALF_PI+QUARTER_PI+QUARTER_PI/1.5, TWO_PI+QUARTER_PI/3);
  
  //Draw Kingsley's 'mask'
  fill(152, 120, 73);
  ellipse(mouseX-30, mouseY-20, 40, 40);
  ellipse(mouseX+30, mouseY-20, 40, 40);
  ellipse(mouseX, mouseY+20, 18, 18);
  quad(mouseX-40, mouseY-5, mouseX-5, mouseY+27, mouseX, mouseY+10, mouseX-10, mouseY-20);
  quad(mouseX+40, mouseY-5, mouseX+5, mouseY+27, mouseX, mouseY+10, mouseX+10, mouseY-20);
  rect(mouseX, mouseY, 15, 20);
  
  //Draw Kingsley's eye dots
  fill(237, 214, 183);
  ellipse(mouseX-25, mouseY-30, 10, 10);
  triangle(mouseX-30, mouseY-10, mouseX-25, mouseY-23, mouseX-18, mouseY-3);
  ellipse(mouseX+25, mouseY-30, 10, 10);
  triangle(mouseX+30, mouseY-10, mouseX+25, mouseY-23, mouseX+18, mouseY-3);
  
  
  //Draw Kingsley's eyes
  fill(255);
  stroke(0);
  ellipse(mouseX-30, mouseY-20, 15, 20);
  ellipse(mouseX+30, mouseY-20, 15, 20);
  
  fill (255, 234, 107);
  ellipse(mouseX-30, mouseY-17, 7, 10);
  ellipse(mouseX+30, mouseY-17, 7, 10);
  
  fill(0);
  ellipse(mouseX-30, mouseY-15, 2, 2);
  ellipse(mouseX+30, mouseY-15, 2, 2);
  
  //****Draw Kingsley's open mouth****
  noStroke();
  fill(237, 214, 183);
  rect(mouseX, mouseY+62, 45, 55);
  fill(0);
  rect(mouseX, mouseY+62, 33, 40);
  fill(237, 121, 82);
  rect(mouseX, mouseY+62, 28, 35);
  
  //Teeth
  fill(255);
  triangle(mouseX-8, mouseY+80, mouseX, mouseY+80, mouseX-4, mouseY+72);
  triangle(mouseX-8, mouseY+80, mouseX-16, mouseY+80, mouseX-12, mouseY+72);
  triangle(mouseX+8, mouseY+80, mouseX, mouseY+80, mouseX+4, mouseY+72);
  triangle(mouseX+8, mouseY+80, mouseX+16, mouseY+80, mouseX+12, mouseY+72);
  
  fill(237, 214, 183);
   curve(mouseX-20, mouseY-20, mouseX-30, mouseY+42, mouseX, mouseY+42, mouseX-10, mouseY-20);
  curve(mouseX+20, mouseY-20, mouseX+30, mouseY+42, mouseX, mouseY+42, mouseX+10, mouseY-20);
  
  
  //*****Draw Kingsley's nose/mouth REDRAW*****
  fill(48, 40, 29);
  stroke(48, 40, 29);
  strokeWeight(2);
  triangle(mouseX-18, mouseY+15, mouseX+18, mouseY+15, mouseX, mouseY+32);
  line(mouseX, mouseY+31, mouseX, mouseY+42);
  noFill();
  curve(mouseX-20, mouseY-20, mouseX-30, mouseY+42, mouseX, mouseY+42, mouseX-10, mouseY-20);
  curve(mouseX+20, mouseY-20, mouseX+30, mouseY+42, mouseX, mouseY+42, mouseX+10, mouseY-20);
 
 //Draw Kingsley's ears
  noStroke();
  fill(116, 63, 45);
  triangle(mouseX-70, mouseY-25, mouseX-70, mouseY-110, mouseX-30, mouseY-69);
  triangle(mouseX+70, mouseY-25, mouseX+70, mouseY-110, mouseX+30, mouseY-69);
  
  fill(237, 214, 183);
  triangle(mouseX-60, mouseY-35, mouseX-60, mouseY-90, mouseX-35, mouseY-65);
  triangle(mouseX+60, mouseY-35, mouseX+60, mouseY-90, mouseX+35, mouseY-65);
  
  //Draw Kingsley's hair
  fill(48, 40, 29);
  quad(mouseX, mouseY-85, mouseX, mouseY-65, mouseX-35, mouseY-65, mouseX-35, mouseY-80);
  quad(mouseX-35, mouseY-65, mouseX-35, mouseY-80, mouseX-80, mouseY-35, mouseX-65, mouseY-20);
  triangle(mouseX-55, mouseY-45, mouseX-5, mouseY-75, mouseX-35, mouseY-75);
  triangle(mouseX-80, mouseY-36, mouseX-65, mouseY-21, mouseX-73, mouseY-10);

  quad(mouseX, mouseY-85, mouseX, mouseY-65, mouseX+35, mouseY-65, mouseX+35, mouseY-80);
  quad(mouseX+35, mouseY-65, mouseX+35, mouseY-80, mouseX+80, mouseY-35, mouseX+65, mouseY-20);
  triangle(mouseX+55, mouseY-45, mouseX+5, mouseY-75, mouseX+35, mouseY-75);
  triangle(mouseX+80, mouseY-36, mouseX+65, mouseY-21, mouseX+73, mouseY-10);
  
  //Draw Kingsley's glasses
  strokeWeight(2);
  stroke(0);
  noFill();
  curve(mouseX-5, mouseY+35, mouseX-15, mouseY-5, mouseX+15, mouseY-5, mouseX+5, mouseY+35);
  fill(145, 241, 255, 100);
  rect(mouseX-30, mouseY-5, 30, 17);
  rect(mouseX+30, mouseY-5, 30, 17);

  //Draw Kingsley's cheek fluff
  noStroke();
  fill(48, 40, 29);
  triangle(mouseX-60, mouseY+19, mouseX-75, mouseY+19, mouseX-75, mouseY-15);
  triangle(mouseX+60, mouseY+19, mouseX+75, mouseY+19, mouseX+75, mouseY-15);
  
  
  //Text Box
  fill(255);
  rect(78, 50, 150, 100);
  noStroke();
  triangle(153, 80, 160, 150, 110, 95);
  
  //A
  fill(0);
  quad(5, 85, 10, 85, 25, 25, 20, 25);
  quad(20, 25, 25, 25, 37, 85, 32, 85);
  quad(15, 54, 16, 58, 27, 58, 28, 54);
  
  //W
  fill(0);
  quad(30, 25, 35, 25, 43, 75, 43, 85); 
  quad(43, 85, 43, 75, 48, 25, 51, 25);
  quad(48, 25, 51, 25, 56, 75, 56, 85);
  quad(56, 85, 56, 75, 61, 25, 66, 25);
 
  //OO
  strokeWeight(3);
  stroke(0);
  fill(255);
  ellipse(75, 54, 20, 58);
  ellipse(100, 54, 20, 58);
  
  //!
  fill(0);
  ellipse(125, 80, 10, 10);
  quad(120, 70, 130, 70, 132, 25, 118, 25);
  
  
}