/*
"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);
}