Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
/*Cheese Party Worm Attack

Project by Gabriel Holtschlag

Cheese Party Worm Attack is an interactive Drawing in which the player controlls a sentient cheese slice.
Eqquiped with a convenient Spray can of poison, the player can scare off the worms that infiltraded the 
party in search of a cheese snack

controlls:
CursorMovement       - movement
cursorClick          -poisonGas
keyPress/holdKeyDown -EvilMode
*/

void setup()
{
  println("Worms have infiltraded the Disco and they are very Hungry!");
  println("Their favourite dish....Cheese");
  colorMode(RGB,255);
  size(400,400);
  frameRate(30);
}

void keyPressed()
{
  //flashing Screen
  fill(0,0,0,70+40*sin(frameCount*0.5));
  rect(200,200,400,400);
  noStroke();
      fill(255,0,0);
  //evil Pupils
  ellipse(mouseX/4+165-10,mouseY/4+165-10,3,3);
  ellipse(mouseX/4+165+10,mouseY/4+165-18,3,3);
  println("AAAaaAaaaaHHhh!!!");
}
void mousePressed()
{
  //-----------GAS SPRAY-------------
  frameRate(10);
  //Screen Flash
      fill(0,100,0,70);
  rect(200,200,402,402);
  //Gas Puffs
  noStroke();
      fill(20,100,20,120);
  ellipse(mouseX+5 +5*sin(frameCount*200),mouseY-10-5*sin(frameCount*200),10+10*sin(frameCount*600),10+10*sin(frameCount*600));
  ellipse(mouseX   +5*sin(frameCount*200),mouseY   -5*sin(frameCount*200),10+10*sin(frameCount*600),10+10*sin(frameCount*600));
  ellipse(mouseX-5 -5*sin(frameCount*300),mouseY+10+5*sin(frameCount*300),10+10*sin(frameCount*500),10+10*sin(frameCount*500));
  ellipse(mouseX+10+5*sin(frameCount*500),mouseY+5 -5*sin(frameCount*500),10+10*sin(frameCount*300),10+10*sin(frameCount*300));
  ellipse(mouseX-10-5*sin(frameCount*600),mouseY-5 +5*sin(frameCount*600),10+10*sin(frameCount*200),10+10*sin(frameCount*200));
  println("Puff!");
}

void draw()
{
  background(200,100,130);
  colorMode(RGB,255);
  frameRate(30);
  noStroke();
  
  //---------DANCE FLOOR----------
  rectMode(CORNER);
  fill(222,160,220,150+80*sin(frameCount*0.08)); rect(0,  0,80,80); fill(200,240,250,150+80*sin(frameCount*0.07)); rect(80,  0,80,80); fill(140,190,240,150+80*sin(frameCount*0.06)); rect(160,  0,80,80); fill(222,160,220,150+80*sin(frameCount*0.08)); rect(240,  0,80,80); fill(160,120,180,170+80*sin(frameCount*0.09)); rect(320,  0,80,80);
  fill(140,190,240,150+80*sin(frameCount*0.06)); rect(0, 80,80,80); fill(222,160,220,150+80*sin(frameCount*0.08)); rect(80, 80,80,80); fill(160,120,180,170+80*sin(frameCount*0.09)); rect(160, 80,80,80); fill(200,240,250,150+80*sin(frameCount*0.07)); rect(240, 80,80,80); fill(140,190,240,150+80*sin(frameCount*0.06)); rect(320, 80,80,80);
  fill(160,120,180,170+80*sin(frameCount*0.09)); rect(0,160,80,80); fill(140,190,240,150+80*sin(frameCount*0.06)); rect(80,160,80,80); fill(200,240,250,150+80*sin(frameCount*0.07)); rect(160,160,80,80); fill(140,190,240,150+80*sin(frameCount*0.06)); rect(240,160,80,80); fill(160,120,180,170+80*sin(frameCount*0.09)); rect(320,160,80,80);        
  fill(200,240,250,150+80*sin(frameCount*0.07)); rect(0,240,80,80); fill(222,160,220,150+80*sin(frameCount*0.08)); rect(80,240,80,80); fill(160,120,180,170+80*sin(frameCount*0.09)); rect(160,240,80,80); fill(222,160,220,150+80*sin(frameCount*0.08)); rect(240,240,80,80); fill(200,240,250,150+80*sin(frameCount*0.07)); rect(320,240,80,80);
  fill(140,190,240,150+80*sin(frameCount*0.06)); rect(0,320,80,80); fill(160,120,180,170+80*sin(frameCount*0.09)); rect(80,320,80,80); fill(200,240,250,150+80*sin(frameCount*0.07)); rect(160,320,80,80); fill(140,190,240,150+80*sin(frameCount*0.06)); rect(240,320,80,80); fill(222,160,220,150+80*sin(frameCount*0.08)); rect(320,320,80,80);

  //--------CHEESE--------
    
  //legs
  strokeWeight(2);
  stroke(0);
  line(pmouseX/4+165-20,pmouseY/4+165,mouseX/4+165-20,mouseY/4+165+30);
  line(pmouseX/4+165+5,pmouseY/4+165-10,mouseX/4+165+5,mouseY/4+165+20);
  noStroke();
  //BODY
  //front plane
      fill(230,230,0);
  quad(pmouseX/4+165-20,pmouseY/4+165+20,pmouseX/4+165+17,pmouseY/4+165+2,pmouseX/4+165+20,pmouseY/4+165-35,pmouseX/4+165-20,pmouseY/4+165-20);
      fill(200,200,0);
  //left plane
  quad(pmouseX/4+165-20,pmouseY/4+165+20,pmouseX/4+165-20,pmouseY/4+165-20,pmouseX/4+165-40,pmouseY/4+165-30,pmouseX/4+165-37,pmouseY/4+165+8);
  //top Plane
      fill(215,215,0);
  triangle(pmouseX/4+165-40,pmouseY/4+165-30,pmouseX/4+165-20,pmouseY/4+165-20,pmouseX/4+165+20,pmouseY/4+165-35);
  //cheese holes
      fill(190,190,0);
  ellipse(pmouseX/4+165-10,pmouseY/4+165+5,10,10);
  ellipse(pmouseX/4+165-10,pmouseY/4+165-14,7,7);
  ellipse(pmouseX/4+165+2,pmouseY/4+165-10,12,10);
  ellipse(pmouseX/4+165+11,pmouseY/4+165-23,6,5);
  ellipse(pmouseX/4+165+11,pmouseY/4+165,6,5);
  //eyes
      fill(0);
  ellipse(pmouseX/4+165-10,pmouseY/4+165-10,8,10);
  ellipse(pmouseX/4+165+10,pmouseY/4+165-18,8,10);
  //mouth
  ellipse(pmouseX/4+165+2,pmouseY/4+165-10,12,7);
      fill(255);
  //pupils
  ellipse(mouseX/4+165-10,mouseY/4+165-10,2,2);
  ellipse(mouseX/4+165+10,mouseY/4+165-18,2,2);          
  //arms
  stroke(0);
  line(pmouseX/4+165-18,pmouseY/4+165-0,mouseX/1.5+65,mouseY/1.5+65);
  line(pmouseX/4+165+15,pmouseY/4+165-8,mouseX/1.5+65,mouseY/1.5+65);
  strokeWeight(1);
  noStroke();
         
  //Poison Gas Can
  rectMode(CENTER);
      fill(150,160,190);
  rect(mouseX/1.5+65,mouseY/1.5+65,20,20);
  ellipse(mouseX/1.5+65,mouseY/1.5+65+10,20,20);
      fill(165,175,205);
  ellipse(mouseX/1.5+65,mouseY/1.5+65-10,20,20);
      fill(135,145,175);
  rect(mouseX/1.5+65,mouseY/1.5+65-20,10,10);
  ellipse(mouseX/1.5+65,mouseY/1.5+65-15,10,10);
      fill(150,160,190);
  ellipse(mouseX/1.5+65,mouseY/1.5+65-25,10,10);                
  stroke(0);
  
  //-----------WORMS--------------
  //RIGHT WORM--------------
    fill(185,85,85);
  ellipse(300+370+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+05*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);  
      fill(189,89,89);
  ellipse(300+350+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+12*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);    
      fill(300,93,93);
  ellipse(300+330+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+20*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(197,97,97);
  ellipse(300+310+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+28*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(201,101,101);
  ellipse(300+290+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+30*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(205,105,105);
  ellipse(300+270+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+28*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(209,109,109);
  ellipse(300+250+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+20*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(213,113,113);
  ellipse(300+230+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+12*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(217,117,117);
  ellipse(300+210+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+05*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(221,121,121);
  ellipse(300+190+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+00*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(225,125,125);
  ellipse(300+170+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY-05*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(229,129,129);
  ellipse(300+150+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY-10*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(233,133,133);
  ellipse(300+130+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY-12*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(237,137,137);
  ellipse(300+110+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY-10*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
      fill(241,141,141);
  ellipse(300+90+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY-05*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
  //Hat
      fill(250,240,200);   
  triangle(300+60+300*sin(frameCount*0.04)+ pmouseX+70-20,pmouseY+15,300+60+300*sin(frameCount*0.04)+ pmouseX+70-20,pmouseY-15,300+60+300*sin(frameCount*0.04)+ pmouseX+70-40,pmouseY);
      fill(255,200,200);  
  triangle(300+60+300*sin(frameCount*0.04)+ pmouseX+70-40,pmouseY,300+60+300*sin(frameCount*0.04)+ pmouseX+70-40-12,pmouseY+2,300+60+300*sin(frameCount*0.04)+ pmouseX+70-40-10,mouseY-2);    
  //Eyes
      fill(255);
  ellipse(300+60+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY-25,20,20);
  ellipse(300+60+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+25,20,20);
  //Pupils
      fill(1,1,1);
  ellipse(300+60+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY-25,3,3);
  ellipse(300+60+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY+25,3,3);
  //Head
      fill(245,145,145);
  ellipse(300+60+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY,50+5*sin(frameCount*0.5),50);
  //Mouth
      fill(50,0,0);
  ellipse(300+60+300*sin(frameCount*0.04)+ pmouseX+70,pmouseY,20+5*sin(frameCount*0.5),30+5*sin(frameCount*0.5));
  
  //LEFT WORM-------------
        fill(60,160,100);
  ellipse(-300-370-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-05*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(64,164,104);
  ellipse(-300-350-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-12*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(68,168,108);
  ellipse(-300-330-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-20*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);  
        fill(72,172,112);
  ellipse(-300-310-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-28*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(76,176,116);
  ellipse(-300-290-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-30*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(80,180,120);
  ellipse(-300-270-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-28*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(84,184,124);
  ellipse(-300-250-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-20*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(88,188,128);
  ellipse(-300-230-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-12*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(92,192,132);
  ellipse(-300-210-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-05*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(96,196,136);
  ellipse(-300-190-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY+00*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(100,200,140);
  ellipse(-300-170-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY+05*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(104,204,144);
  ellipse(-300-150-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY+10*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(108,208,148);
  ellipse(-300-130-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY+12*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(112,212,152);
  ellipse(-300-110-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY+10*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);
        fill(116,216,156);
  ellipse(-300-90-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY+05*sin(frameCount*0.1),50+5*sin(frameCount*0.5),50);  
  //Hat
        fill(250,240,200);  
  triangle(-300-60-300*sin(frameCount*0.05)+ pmouseX-70+10,pmouseY+20,-300-60-300*sin(frameCount*0.05)+ pmouseX-70+10,pmouseY-20,-300-60-300*sin(frameCount*0.05)+ pmouseX-70+40,pmouseY);
        fill(255,200,200);  
  triangle(-300-60-300*sin(frameCount*0.05)+ pmouseX-70+40,pmouseY,-300-60-300*sin(frameCount*0.05)+ pmouseX-70+40+10,mouseY+2,-300-60-300*sin(frameCount*0.05)+ pmouseX-70+40+12,pmouseY-2);      
        fill(255);
  //Eyes
  ellipse(-300-60-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-25,20,20);
  ellipse(-300-60-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY+25,20,20);
  //Pupils
        fill(1,1,1);
  ellipse(-300-60-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY-25,3,3);
  ellipse(-300-60-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY+25,3,3);
  //Head
        fill(120,219,160);
  ellipse(-300-60-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY,50+5*sin(frameCount*0.5),50);
  //mouth
        fill(0,50,10);
  ellipse(-300-60-300*sin(frameCount*0.05)+ pmouseX-70,pmouseY,20+5*sin(frameCount*0.5),30+5*sin(frameCount*0.5));
   
  //BOTTOM WORM---------------
       fill(186,126,36);
  ellipse(pmouseX-00*sin(frameCount*0.1),300+390+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(170,130,40);
  ellipse(pmouseX-05*sin(frameCount*0.1),300+370+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(174,134,44);
  ellipse(pmouseX-12*sin(frameCount*0.1),300+350+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(178,138,48);
  ellipse(pmouseX-20*sin(frameCount*0.1),300+330+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(182,142,52);
  ellipse(pmouseX-28*sin(frameCount*0.1),300+310+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(186,146,56);
  ellipse(pmouseX-30*sin(frameCount*0.1),300+290+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(190,150,60);
  ellipse(pmouseX-28*sin(frameCount*0.1),300+270+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(194,154,64);
  ellipse(pmouseX-20*sin(frameCount*0.1),300+250+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(198,158,68);
  ellipse(pmouseX-12*sin(frameCount*0.1),300+230+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(202,162,72);
  ellipse(pmouseX-05*sin(frameCount*0.1),300+210+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(206,166,76);
  ellipse(pmouseX+00*sin(frameCount*0.1),300+190+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(210,170,80);
  ellipse(pmouseX+05*sin(frameCount*0.1),300+170+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(214,174,84);
  ellipse(pmouseX+10*sin(frameCount*0.1),300+150+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(218,178,88);
  ellipse(pmouseX+12*sin(frameCount*0.1),300+130+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(222,182,92);
  ellipse(pmouseX+10*sin(frameCount*0.1),300+110+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(226,186,96);    
  ellipse(pmouseX+05*sin(frameCount*0.1),300+90+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
  //hat
       fill(250,240,200);
  triangle(pmouseX-20,300+60+300*sin(frameCount*0.025)+ pmouseY+70-10,pmouseX+20,300+60+300*sin(frameCount*0.025)+ pmouseY+70-10,pmouseX,300+60+300*sin(frameCount*0.025)+ pmouseY+70-40);
       fill(255,200,200);
       triangle(pmouseX,300+60+300*sin(frameCount*0.025)+ pmouseY+70-40,mouseX-2,300+60+300*sin(frameCount*0.025)+ pmouseY+70-40-10,pmouseX+2,300+60+300*sin(frameCount*0.025)+ pmouseY+70-40-12);
  //eyes
       fill(255);
  ellipse(pmouseX-25,300+60+300*sin(frameCount*0.025)+ pmouseY+70,20,20);
  ellipse(pmouseX+25,300+60+300*sin(frameCount*0.025)+ pmouseY+70,20,20);
  //Pupils
       fill(1,1,1);
  ellipse(pmouseX-25,300+60+300*sin(frameCount*0.025)+ pmouseY+70,3,3);
  ellipse(pmouseX+25,300+60+300*sin(frameCount*0.025)+ pmouseY+70,3,3);
  //head
       fill(230,190,100);
  ellipse(pmouseX,300+60+300*sin(frameCount*0.025)+ pmouseY+70,50,50+5*sin(frameCount*0.5));
       fill(50,30,0);
  //mouth
  ellipse(pmouseX,300+60+300*sin(frameCount*0.025)+pmouseY+70,30+5*sin(frameCount*0.5),20+5*sin(frameCount*0.5));
   
  //TOP WORM------------------
       fill(153,76,166);  
  ellipse(pmouseX+0*sin(frameCount*0.1),-300-390-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(157,80,170);  
  ellipse(pmouseX+05*sin(frameCount*0.1),-300-370-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(161,84,174);  
  ellipse(pmouseX+12*sin(frameCount*0.1),-300-350-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(165,88,178);  
  ellipse(pmouseX+20*sin(frameCount*0.1),-300-330-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(167,92,182);  
  ellipse(pmouseX+28*sin(frameCount*0.1),-300-310-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(171,96,186);  
  ellipse(pmouseX+30*sin(frameCount*0.1),-300-290-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(175,100,190);  
  ellipse(pmouseX+28*sin(frameCount*0.1),-300-270-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(179,104,194);  
  ellipse(pmouseX+20*sin(frameCount*0.1),-300-250-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(183,108,198);  
  ellipse(pmouseX+12*sin(frameCount*0.1),-300-230-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(187,112,202);  
  ellipse(pmouseX+05*sin(frameCount*0.1),-300-210-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(191,116,206);  
  ellipse(pmouseX+00*sin(frameCount*0.1),-300-190-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(195,120,210);  
  ellipse(pmouseX-05*sin(frameCount*0.1),-300-170-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(199,124,214);  
  ellipse(pmouseX-10*sin(frameCount*0.1),-300-150-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(203,128,218);  
  ellipse(pmouseX-12*sin(frameCount*0.1),-300-130-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(207,132,222);  
  ellipse(pmouseX-10*sin(frameCount*0.1),-300-110-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
       fill(211,136,226);  
  ellipse(pmouseX-05*sin(frameCount*0.1),-300-90-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
  //Hat
       fill(250,240,200);
  triangle(pmouseX-20,-300-60-300*sin(frameCount*0.032)+pmouseY-70+10,pmouseX+20,-300-60-300*sin(frameCount*0.032)+pmouseY-70+10,pmouseX,-300-60-300*sin(frameCount*0.032)+pmouseY-70+40);
       fill(255,200,200);
  triangle(pmouseX,-300-60-300*sin(frameCount*0.032)+pmouseY-70+40,mouseX-2,-300-60-300*sin(frameCount*0.032)+pmouseY-70+40+10,pmouseX+2,-300-60-300*sin(frameCount*0.032)+pmouseY-70+40+12);
  
  //eyes
       fill(255);
  ellipse(pmouseX-25,-300-60-300*sin(frameCount*0.032)+pmouseY-70,20,20);
  ellipse(pmouseX+25,-300-60-300*sin(frameCount*0.032)+pmouseY-70,20,20);
  //Pupils
       fill(0);
  ellipse(mouseX-25,-300-60-300*sin(frameCount*0.032)+mouseY-70,3,3);
  ellipse(mouseX+25,-300-60-300*sin(frameCount*0.032)+mouseY-70,3,3);
      
  //head
       fill(215,140,230);
  ellipse(pmouseX,-300-60-300*sin(frameCount*0.032)+pmouseY-70,50,50+5*sin(frameCount*0.5));
  //mouth
       fill(30,0,50);
  ellipse(pmouseX,-300-60-300*sin(frameCount*0.032)+pmouseY-70,30+5*sin(frameCount*0.5),20+5*sin(frameCount*0.5));
}