Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
/*///////////////////////////////////////////////
 **     Processing Virus Busting By Ali Charif
 **           An Interactive Drawing
 ** Nic Hesler, Introduction to Media Computation
 **               Tuesday 9am-12pm
/*///////////////////////////////////////////////

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

void keyPressed() {
  frameRate(30);

  //------------------Easy Mode Virus------------------
  //------------------PRESS AND HOLD-------------------

  //Feet
  fill(239, 40, 58);                         
  rect(205+80*sin(frameCount*0.1), 140, 25, 18, 10);
  rect(195+80*sin(frameCount*0.1)-25, 140, 25, 18, 10);

  //Head
  fill(0); 
  ellipse(200+80*sin(frameCount*0.1), 130, 50, 50);

  //Eyes
  fill(255, 255, 255);                       
  ellipse(190+80*sin(frameCount*0.1), 133, 17.5, 20);
  ellipse(210+80*sin(frameCount*0.1), 133, 17.5, 20);

  //Pupils
  fill(0);                                 
  ellipse(190+80*sin(frameCount*0.1), 133, 12, 13);
  ellipse(210+80*sin(frameCount*0.1), 133, 12, 13);

  //Helmet
  fill(239, 40, 58);                         
  quad(170+80*sin(frameCount*0.1), 130, 230+80*sin(frameCount*0.1), 130, 225+80*sin(frameCount*0.1), 120, 175+80*sin(frameCount*0.1), 120);
  quad(175+80*sin(frameCount*0.1), 120, 225+80*sin(frameCount*0.1), 120, 224+80*sin(frameCount*0.1), 115, 176+80*sin(frameCount*0.1), 115);
  quad(176+80*sin(frameCount*0.1), 115, 224+80*sin(frameCount*0.1), 115, 222+80*sin(frameCount*0.1), 110, 178+80*sin(frameCount*0.1), 110); 
  quad(178+80*sin(frameCount*0.1), 110, 222+80*sin(frameCount*0.1), 110, 218+80*sin(frameCount*0.1), 105, 182+80*sin(frameCount*0.1), 105); 
  quad(182+80*sin(frameCount*0.1), 105, 218+80*sin(frameCount*0.1), 105, 210+80*sin(frameCount*0.1), 100, 190+80*sin(frameCount*0.1), 100); 
  quad(190+80*sin(frameCount*0.1), 100, 210+80*sin(frameCount*0.1), 100, 206+80*sin(frameCount*0.1), 99, 194+80*sin(frameCount*0.1), 99);

  //Helmet Art
  fill(29, 103, 242);                         
  quad(176+80*sin(frameCount*0.1), 115, 195+80*sin(frameCount*0.1), 115, 194.5+80*sin(frameCount*0.1), 120, 175+80*sin(frameCount*0.1), 120);
  quad(205+80*sin(frameCount*0.1), 114, 224+80*sin(frameCount*0.1), 114, 225+80*sin(frameCount*0.1), 121, 205.5+80*sin(frameCount*0.1), 121);
  quad(199+80*sin(frameCount*0.1), 114, 201+80*sin(frameCount*0.1), 114, 201+80*sin(frameCount*0.1), 121, 199+80*sin(frameCount*0.1), 121);
  quad(196.5+80*sin(frameCount*0.1), 116.5, 203.5+80*sin(frameCount*0.1), 116.5, 203.5+80*sin(frameCount*0.1), 118.5, 196.5+80*sin(frameCount*0.1), 118.5);
  noFill();
}

void mousePressed() {

  //Buster Shot
  fill(#82E3D3);
  ellipse(-pmouseX/1.6+50+260-200+224, 110, 24, 24);
  fill(255);
  ellipse(-pmouseX/1.6+50+260-200+224, 110, 20, 20);
  fill(#82E3D3);
  ellipse(-pmouseX/1.6+50+260-200+224, 110, 14, 14);
  quad(-pmouseX/1.6+50+260-200+233, 233, -pmouseX/1.6+50+260-200+241, 233, -pmouseX/1.6+50+260-200+225, 110, -pmouseX/1.6+50+260-200+223, 110);

  //Buster Flash
  fill(255, 255, 255, 30);
  rect(0, 0, 400, 400);

  //Virus Shadow
  fill(50, 50, 50, 80);
  ellipse(200+80*sin(frameCount*0.1), 110, 50, 100);
}

void draw() {

  frameRate(60);
  //strokeWeight(2); //<- More toony?

  //-----------------Background Effect-------------------

  background(0, 9, 168);


  //Top Row

  stroke(0);
  fill(255, 207, 8); //1st
  ellipse(mouseX/4+150-200+0, mouseY/8+300-300+-40, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+0, mouseY/8+300-300+-40, 40, 40);
  fill(0);
  line(mouseX/4+150-200+-10, mouseY/8+300-300+-30, mouseX/4+150-200+10, mouseY/8+300-300+-50);
  quad(mouseX/4+150-200+-5, mouseY/8+300-300+-35, mouseX/4+150-200+-18, mouseY/8+300-300+-35, mouseX/4+150-200+-14, mouseY/8+300-300+-26, mouseX/4+150-200+-5, mouseY/8+300-300+-22);
  quad(mouseX/4+150-200+5, mouseY/8+300-300+-45, mouseX/4+150-200+18, mouseY/8+300-300+-45, mouseX/4+150-200+14, mouseY/8+300-300+-54, mouseX/4+150-200+5, mouseY/8+300-300+-58);

  fill(255, 207, 8); //2nd
  ellipse(mouseX/4+150-200+95, mouseY/8+300-300+-40, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+95, mouseY/8+300-300+-40, 40, 40);
  fill(0);
  line(mouseX/4+150-200+85, mouseY/8+300-300+-30, mouseX/4+150-200+105, mouseY/8+300-300+-50);
  quad(mouseX/4+150-200+90, mouseY/8+300-300+-35, mouseX/4+150-200+77, mouseY/8+300-300+-35, mouseX/4+150-200+81, mouseY/8+300-300+-26, mouseX/4+150-200+90, mouseY/8+300-300+-22);
  quad(mouseX/4+150-200+100, mouseY/8+300-300+-45, mouseX/4+150-200+113, mouseY/8+300-300+-45, mouseX/4+150-200+109, mouseY/8+300-300+-54, mouseX/4+150-200+100, mouseY/8+300-300+-58);

  fill(255, 207, 8); //3rd
  ellipse(mouseX/4+150-200+200, mouseY/8+300-300+-40, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+200, mouseY/8+300-300+-40, 40, 40);
  fill(0);
  line(mouseX/4+150-200+190, mouseY/8+300-300+-30, mouseX/4+150-200+210, mouseY/8+300-300+-50);
  quad(mouseX/4+150-200+195, mouseY/8+300-300+-35, mouseX/4+150-200+182, mouseY/8+300-300+-35, mouseX/4+150-200+186, mouseY/8+300-300+-26, mouseX/4+150-200+195, mouseY/8+300-300+-22);
  quad(mouseX/4+150-200+205, mouseY/8+300-300+-45, mouseX/4+150-200+218, mouseY/8+300-300+-45, mouseX/4+150-200+214, mouseY/8+300-300+-54, mouseX/4+150-200+205, mouseY/8+300-300+-58);

  fill(255, 207, 8); //4th
  ellipse(mouseX/4+150-200+305, mouseY/8+300-300+-40, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+305, mouseY/8+300-300+-40, 40, 40);
  fill(0);
  line(mouseX/4+150-200+295, mouseY/8+300-300+-30, mouseX/4+150-200+315, mouseY/8+300-300+-50);
  quad(mouseX/4+150-200+300, mouseY/8+300-300+-35, mouseX/4+150-200+287, mouseY/8+300-300+-35, mouseX/4+150-200+291, mouseY/8+300-300+-26, mouseX/4+150-200+300, mouseY/8+300-300+-22);
  quad(mouseX/4+150-200+310, mouseY/8+300-300+-45, mouseX/4+150-200+323, mouseY/8+300-300+-45, mouseX/4+150-200+319, mouseY/8+300-300+-54, mouseX/4+150-200+310, mouseY/8+300-300+-58);

  fill(255, 207, 8); //5th
  ellipse(mouseX/4+150-200+400, mouseY/8+300-300+-40, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+400, mouseY/8+300-300+-40, 40, 40);
  fill(0);
  line(mouseX/4+150-200+390, mouseY/8+300-300+-30, mouseX/4+150-200+410, mouseY/8+300-300+-50);
  quad(mouseX/4+150-200+395, mouseY/8+300-300+-35, mouseX/4+150-200+382, mouseY/8+300-300+-35, mouseX/4+150-200+386, mouseY/8+300-300+-26, mouseX/4+150-200+395, mouseY/8+300-300+-22);
  quad(mouseX/4+150-200+405, mouseY/8+300-300+-45, mouseX/4+150-200+418, mouseY/8+300-300+-45, mouseX/4+150-200+414, mouseY/8+300-300+-54, mouseX/4+150-200+405, mouseY/8+300-300+-58);


  //Middle Row

  fill(255, 207, 8); //1st
  ellipse(mouseX/4+150-200+-60, mouseY/8+300-300+20, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+-60, mouseY/8+300-300+20, 40, 40);
  fill(0);
  line(mouseX/4+150-200+-70, mouseY/8+300-300+30, mouseX/4+150-200+-50, mouseY/8+300-300+10);
  quad(mouseX/4+150-200+-65, mouseY/8+300-300+25, mouseX/4+150-200+-78, mouseY/8+300-300+25, mouseX/4+150-200+-74, mouseY/8+300-300+34, mouseX/4+150-200+-65, mouseY/8+300-300+38);
  quad(mouseX/4+150-200+-55, mouseY/8+300-300+15, mouseX/4+150-200+-42, mouseY/8+300-300+15, mouseX/4+150-200+-46, mouseY/8+300-300+6, mouseX/4+150-200+-55, mouseY/8+300-300+2);

  fill(255, 207, 8); //2nd
  ellipse(mouseX/4+150-200+40, mouseY/8+300-300+20, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+40, mouseY/8+300-300+20, 40, 40);
  fill(0);
  line(mouseX/4+150-200+30, mouseY/8+300-300+30, mouseX/4+150-200+50, mouseY/8+300-300+10);
  quad(mouseX/4+150-200+35, mouseY/8+300-300+25, mouseX/4+150-200+22, mouseY/8+300-300+25, mouseX/4+150-200+26, mouseY/8+300-300+34, mouseX/4+150-200+35, mouseY/8+300-300+38);
  quad(mouseX/4+150-200+45, mouseY/8+300-300+15, mouseX/4+150-200+58, mouseY/8+300-300+15, mouseX/4+150-200+54, mouseY/8+300-300+6, mouseX/4+150-200+45, mouseY/8+300-300+2);

  fill(255, 207, 8); //3rd
  ellipse(mouseX/4+150-200+150, mouseY/8+300-300+20, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+150, mouseY/8+300-300+20, 40, 40);
  fill(0);
  line(mouseX/4+150-200+140, mouseY/8+300-300+30, mouseX/4+150-200+160, mouseY/8+300-300+10);
  quad(mouseX/4+150-200+145, mouseY/8+300-300+25, mouseX/4+150-200+132, mouseY/8+300-300+25, mouseX/4+150-200+136, mouseY/8+300-300+34, mouseX/4+150-200+145, mouseY/8+300-300+38);
  quad(mouseX/4+150-200+155, mouseY/8+300-300+15, mouseX/4+150-200+168, mouseY/8+300-300+15, mouseX/4+150-200+164, mouseY/8+300-300+6, mouseX/4+150-200+155, mouseY/8+300-300+2);

  fill(255, 207, 8); //4th
  ellipse(mouseX/4+150-200+250, mouseY/8+300-300+20, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+250, mouseY/8+300-300+20, 40, 40);
  fill(0);
  line(mouseX/4+150-200+240, mouseY/8+300-300+30, mouseX/4+150-200+260, mouseY/8+300-300+10);
  quad(mouseX/4+150-200+245, mouseY/8+300-300+25, mouseX/4+150-200+232, mouseY/8+300-300+25, mouseX/4+150-200+236, mouseY/8+300-300+34, mouseX/4+150-200+245, mouseY/8+300-300+38);
  quad(mouseX/4+150-200+255, mouseY/8+300-300+15, mouseX/4+150-200+268, mouseY/8+300-300+15, mouseX/4+150-200+264, mouseY/8+300-300+6, mouseX/4+150-200+255, mouseY/8+300-300+2);

  fill(255, 207, 8); //5th
  ellipse(mouseX/4+150-200+360, mouseY/8+300-300+20, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+360, mouseY/8+300-300+20, 40, 40);
  fill(0);
  line(mouseX/4+150-200+350, mouseY/8+300-300+30, mouseX/4+150-200+370, mouseY/8+300-300+10);
  quad(mouseX/4+150-200+355, mouseY/8+300-300+25, mouseX/4+150-200+342, mouseY/8+300-300+25, mouseX/4+150-200+346, mouseY/8+300-300+34, mouseX/4+150-200+355, mouseY/8+300-300+38);
  quad(mouseX/4+150-200+365, mouseY/8+300-300+15, mouseX/4+150-200+378, mouseY/8+300-300+15, mouseX/4+150-200+374, mouseY/8+300-300+6, mouseX/4+150-200+365, mouseY/8+300-300+2);

  fill(255, 207, 8); //6th
  ellipse(mouseX/4+150-200+460, mouseY/8+300-300+20, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+460, mouseY/8+300-300+20, 40, 40);
  fill(0);
  line(mouseX/4+150-200+450, mouseY/8+300-300+30, mouseX/4+150-200+470, mouseY/8+300-300+10);
  quad(mouseX/4+150-200+455, mouseY/8+300-300+25, mouseX/4+150-200+442, mouseY/8+300-300+25, mouseX/4+150-200+446, mouseY/8+300-300+34, mouseX/4+150-200+455, mouseY/8+300-300+38);
  quad(mouseX/4+150-200+465, mouseY/8+300-300+15, mouseX/4+150-200+478, mouseY/8+300-300+15, mouseX/4+150-200+474, mouseY/8+300-300+6, mouseX/4+150-200+465, mouseY/8+300-300+2);


  //Lower Row

  fill(255, 207, 8); //1st
  ellipse(mouseX/4+150-200+0, mouseY/8+300-300+80, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+0, mouseY/8+300-300+80, 40, 40);
  fill(0);
  line(mouseX/4+150-200+-10, mouseY/8+300-300+90, mouseX/4+150-200+10, mouseY/8+300-300+70);
  quad(mouseX/4+150-200+-5, mouseY/8+300-300+85, mouseX/4+150-200+-18, mouseY/8+300-300+85, mouseX/4+150-200+-16, mouseY/8+300-300+94, mouseX/4+150-200+-5, mouseY/8+300-300+98);
  quad(mouseX/4+150-200+5, mouseY/8+300-300+75, mouseX/4+150-200+18, mouseY/8+300-300+75, mouseX/4+150-200+14, mouseY/8+300-300+66, mouseX/4+150-200+5, mouseY/8+300-300+62);

  fill(255, 207, 8); //2nd
  ellipse(mouseX/4+150-200+95, mouseY/8+300-300+80, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+95, mouseY/8+300-300+80, 40, 40);
  fill(0);
  line(mouseX/4+150-200+85, mouseY/8+300-300+90, mouseX/4+150-200+105, mouseY/8+300-300+70);
  quad(mouseX/4+150-200+90, mouseY/8+300-300+85, mouseX/4+150-200+77, mouseY/8+300-300+85, mouseX/4+150-200+81, mouseY/8+300-300+94, mouseX/4+150-200+90, mouseY/8+300-300+98);
  quad(mouseX/4+150-200+100, mouseY/8+300-300+75, mouseX/4+150-200+113, mouseY/8+300-300+75, mouseX/4+150-200+109, mouseY/8+300-300+66, mouseX/4+150-200+100, mouseY/8+300-300+62);

  fill(255, 207, 8); //3rd
  ellipse(mouseX/4+150-200+200, mouseY/8+300-300+80, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+200, mouseY/8+300-300+80, 40, 40);
  fill(0);
  line(mouseX/4+150-200+190, mouseY/8+300-300+90, mouseX/4+150-200+210, mouseY/8+300-300+70);
  quad(mouseX/4+150-200+195, mouseY/8+300-300+85, mouseX/4+150-200+182, mouseY/8+300-300+85, mouseX/4+150-200+186, mouseY/8+300-300+94, mouseX/4+150-200+195, mouseY/8+300-300+98);
  quad(mouseX/4+150-200+205, mouseY/8+300-300+75, mouseX/4+150-200+218, mouseY/8+300-300+75, mouseX/4+150-200+214, mouseY/8+300-300+66, mouseX/4+150-200+205, mouseY/8+300-300+62);

  fill(255, 207, 8); //4th
  ellipse(mouseX/4+150-200+305, mouseY/8+300-300+80, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+305, mouseY/8+300-300+80, 40, 40);
  fill(0);
  line(mouseX/4+150-200+295, mouseY/8+300-300+90, mouseX/4+150-200+315, mouseY/8+300-300+70);
  quad(mouseX/4+150-200+300, mouseY/8+300-300+85, mouseX/4+150-200+287, mouseY/8+300-300+85, mouseX/4+150-200+291, mouseY/8+300-300+94, mouseX/4+150-200+300, mouseY/8+300-300+98);
  quad(mouseX/4+150-200+310, mouseY/8+300-300+75, mouseX/4+150-200+323, mouseY/8+300-300+75, mouseX/4+150-200+319, mouseY/8+300-300+66, mouseX/4+150-200+310, mouseY/8+300-300+62);

  fill(255, 207, 8); //5th
  ellipse(mouseX/4+150-200+400, mouseY/8+300-300+80, 50, 50);
  fill(255, 0, 0);
  ellipse(mouseX/4+150-200+400, mouseY/8+300-300+80, 40, 40);
  fill(0);
  line(mouseX/4+150-200+390, mouseY/8+300-300+90, mouseX/4+150-200+410, mouseY/8+300-300+70);
  quad(mouseX/4+150-200+395, mouseY/8+300-300+85, mouseX/4+150-200+382, mouseY/8+300-300+85, mouseX/4+150-200+386, mouseY/8+300-300+94, mouseX/4+150-200+395, mouseY/8+300-300+98);
  quad(mouseX/4+150-200+405, mouseY/8+300-300+75, mouseX/4+150-200+418, mouseY/8+300-300+75, mouseX/4+150-200+414, mouseY/8+300-300+66, mouseX/4+150-200+405, mouseY/8+300-300+62);
  noStroke();


  //-----------------Terrain---------------------

  //Tile colour
  fill(0, 133, 249);
  quad(400, 130, 0, 130, 0, 400, 400, 400);

  //Floor grid
  stroke(255, 255, 255);
  line(80, 130, 0, 270);
  line(320, 130, 400, 270);
  line(160, 130, 94, 475);
  line(240, 130, 306, 475);
  line(0, 172, 400, 172);
  line(0, 228, 400, 228);
  line(0, 296, 400, 296);
  noStroke();

  //Walls <---REMOVABLE
  fill(0, 86, 182);
  stroke(255, 255, 255);
  rect(80, 40, 240, 90);
  rect(160, 40, 80, 90);
  quad(-1, 121, 80, 40, 80, 130, -1, 271);
  quad(320, 40, 401, 121, 401, 271, 320, 130);
  noStroke();

  //------------------Virus------------------

  //Feet
  rectMode(CORNER);
  fill(238, 199, 0);                         
  rect(205+80*sin(frameCount*0.1), 140, 25, 18, 10);
  rect(195+80*sin(frameCount*0.1)-25, 140, 25, 18, 10);

  //Head
  fill(0); 
  ellipse(200+80*sin(frameCount*0.1), 130, 50, 50);

  //Eyes
  fill(255, 255, 255);                       
  ellipse(190+80*sin(frameCount*0.1), 133, 17.5, 20);
  ellipse(210+80*sin(frameCount*0.1), 133, 17.5, 20);

  //Pupils
  fill(0);                                 
  ellipse(190+80*sin(frameCount*0.1), 133, 12, 13);
  ellipse(210+80*sin(frameCount*0.1), 133, 12, 13);

  //Helmet
  fill(238, 199, 0);                         
  quad(170+80*sin(frameCount*0.1), 130, 230+80*sin(frameCount*0.1), 130, 225+80*sin(frameCount*0.1), 120, 175+80*sin(frameCount*0.1), 120);
  quad(175+80*sin(frameCount*0.1), 120, 225+80*sin(frameCount*0.1), 120, 224+80*sin(frameCount*0.1), 115, 176+80*sin(frameCount*0.1), 115);
  quad(176+80*sin(frameCount*0.1), 115, 224+80*sin(frameCount*0.1), 115, 222+80*sin(frameCount*0.1), 110, 178+80*sin(frameCount*0.1), 110); 
  quad(178+80*sin(frameCount*0.1), 110, 222+80*sin(frameCount*0.1), 110, 218+80*sin(frameCount*0.1), 105, 182+80*sin(frameCount*0.1), 105); 
  quad(182+80*sin(frameCount*0.1), 105, 218+80*sin(frameCount*0.1), 105, 210+80*sin(frameCount*0.1), 100, 190+80*sin(frameCount*0.1), 100); 
  quad(190+80*sin(frameCount*0.1), 100, 210+80*sin(frameCount*0.1), 100, 206+80*sin(frameCount*0.1), 99, 194+80*sin(frameCount*0.1), 99);

  //Helmet Art
  fill(20, 97, 41);                         
  quad(176+80*sin(frameCount*0.1), 115, 195+80*sin(frameCount*0.1), 115, 194.5+80*sin(frameCount*0.1), 120, 175+80*sin(frameCount*0.1), 120);
  quad(205+80*sin(frameCount*0.1), 114, 224+80*sin(frameCount*0.1), 114, 225+80*sin(frameCount*0.1), 121, 205.5+80*sin(frameCount*0.1), 121);
  quad(199+80*sin(frameCount*0.1), 114, 201+80*sin(frameCount*0.1), 114, 201+80*sin(frameCount*0.1), 121, 199+80*sin(frameCount*0.1), 121);
  quad(196.5+80*sin(frameCount*0.1), 116.5, 203.5+80*sin(frameCount*0.1), 116.5, 203.5+80*sin(frameCount*0.1), 118.5, 196.5+80*sin(frameCount*0.1), 118.5);
  noFill();

  //------------------Hub(Player)------------------ 

  //Neck
  fill(35, 48, 93);
  rectMode(CENTER);
  rect(-pmouseX/1.6+50+260-200+200, 312, 26, 16);

  //Torso
  fill(35, 48, 93);
  quad(-pmouseX/1.6+50+260-200+187, 320, -pmouseX/1.6+50+260-200+177, 325, -pmouseX/1.6+50+260-200+223, 325, -pmouseX/1.6+50+260-200+213, 320);
  rectMode(CORNERS);
  rect(-pmouseX/1.6+50+260-200+177, 325, -pmouseX/1.6+50+260-200+223, 400);

  //Left Arm
  stroke(0);
  fill(44, 135, 198);
  rectMode(CORNER);
  rect(-pmouseX/1.6+50+260-200+133, 391, 38, 9);
  fill(40, 87, 142);
  ellipse(-pmouseX/1.6+50+260-200+152, 391, 38, 28);
  noStroke();
  fill(35, 48, 93);
  ellipse(-pmouseX/1.6+50+260-200+152, 391, 15, 10);
  quad(-pmouseX/1.6+50+260-200+178, 325, -pmouseX/1.6+50+260-200+178, 350, -pmouseX/1.6+50+260-200+172, 351, -pmouseX/1.6+50+260-200+147, 345);
  quad(-pmouseX/1.6+50+260-200+148, 345, -pmouseX/1.6+50+260-200+144, 390, -pmouseX/1.6+50+260-200+160, 392, -pmouseX/1.6+50+260-200+172, 350);
  fill(255, 207, 8);
  quad(-pmouseX/1.6+50+260-200+167, 325, -pmouseX/1.6+50+260-200+170, 330, -pmouseX/1.6+50+260-200+189, 325, -pmouseX/1.6+50+260-200+187, 320);
  triangle(-pmouseX/1.6+50+260-200+167, 325, -pmouseX/1.6+50+260-200+147, 345, -pmouseX/1.6+50+260-200+171, 330); 

  //-----Mega-Buster-----
  stroke(0);
  fill(45, 51, 85);
  line(-pmouseX/1.6+50+260-200+230, 237, -pmouseX/1.6+50+260-200+231, 253.5);
  line(-pmouseX/1.6+50+260-200+247, 253.5, -pmouseX/1.6+50+260-200+246, 237);
  ellipse (-pmouseX/1.6+50+260-200+238, 237, 16, 8);
  noStroke();
  quad(-pmouseX/1.6+50+260-200+230, 237, -pmouseX/1.6+50+260-200+231, 253.5, -pmouseX/1.6+50+260-200+247, 253.5, -pmouseX/1.6+50+260-200+246, 237);
  //-----
  stroke(0);
  fill(24, 91, 161);
  ellipse(-pmouseX/1.6+50+260-200+238.5, 250, 28, 15);
  line(-pmouseX/1.6+50+260-200+253, 262, -pmouseX/1.6+50+260-200+252, 250);
  noStroke();
  quad(-pmouseX/1.6+50+260-200+229, 250, -pmouseX/1.6+50+260-200+231, 262, -pmouseX/1.6+50+260-200+253, 262, -pmouseX/1.6+50+260-200+252, 250);
  //-----
  stroke(0);
  fill(44, 135, 198);
  ellipse(-pmouseX/1.6+50+260-200+237.5, 265, 38, 15);
  noStroke();
  quad(-pmouseX/1.6+50+260-200+224.5, 310, -pmouseX/1.6+50+260-200+261.5, 297, -pmouseX/1.6+50+260-200+257.5, 265, -pmouseX/1.6+50+260-200+219.5, 267);
  stroke(0);
  line(-pmouseX/1.6+50+260-200+224, 310, -pmouseX/1.6+50+260-200+219.5, 267);
  line(-pmouseX/1.6+50+260-200+257, 265, -pmouseX/1.6+50+260-200+262.5, 310);
  fill(40, 87, 142);
  ellipse(-pmouseX/1.6+50+260-200+243.5, 310, 38, 28);
  noStroke();
  //----------------------

  //Right Arm
  fill(35, 48, 93);
  ellipse(-pmouseX/1.6+50+260-200+243.5, 310, 15, 10);
  quad(-pmouseX/1.6+50+260-200+213, 323, -pmouseX/1.6+50+260-200+223, 350, -pmouseX/1.6+50+260-200+255, 332, -pmouseX/1.6+50+260-200+235, 317);
  quad(-pmouseX/1.6+50+260-200+235, 318, -pmouseX/1.6+50+260-200+236, 310, -pmouseX/1.6+50+260-200+251, 310, -pmouseX/1.6+50+260-200+254, 332);
  fill(255, 207, 8);
  quad(-pmouseX/1.6+50+260-200+213, 320, -pmouseX/1.6+50+260-200+225, 320, -pmouseX/1.6+50+260-200+230, 323, -pmouseX/1.6+50+260-200+216, 325);
  triangle(-pmouseX/1.6+50+260-200+236, 317, -pmouseX/1.6+50+260-200+224, 320, -pmouseX/1.6+50+260-200+230, 323);

  //Bottom of head
  fill(35, 48, 93);
  ellipse(-pmouseX/1.6+50+260-200+200, 290, 50, 50);

  //Top curve of tubes
  fill(192, 227, 203);
  ellipse(-pmouseX/1.6+50+260-200+175, 244, 10, 10);
  ellipse(-pmouseX/1.6+50+260-200+225, 244, 10, 10);

  //Helmet
  fill(24, 101, 173);
  ellipse(-pmouseX/1.6+50+260-200+200, 270, 75, 75);

  //Middle Helmet pad
  fill(255, 207, 8);
  stroke(241, 122, 40);
  quad(-pmouseX/1.6+50+260-200+200, 230, -pmouseX/1.6+50+260-200+200, 278, -pmouseX/1.6+50+260-200+192, 280, -pmouseX/1.6+50+260-200+190, 235);
  quad(-pmouseX/1.6+50+260-200+200, 230, -pmouseX/1.6+50+260-200+200, 278, -pmouseX/1.6+50+260-200+208, 280, -pmouseX/1.6+50+260-200+210, 235);

  //Side Helmet pads
  quad(-pmouseX/1.6+50+260-200+163, 270, -pmouseX/1.6+50+260-200+158, 272, -pmouseX/1.6+50+260-200+162, 300, -pmouseX/1.6+50+260-200+180, 303);
  quad(-pmouseX/1.6+50+260-200+237, 270, -pmouseX/1.6+50+260-200+242, 272, -pmouseX/1.6+50+260-200+238, 300, -pmouseX/1.6+50+260-200+220, 303);
  noStroke();

  //Tubes
  fill(192, 227, 203);
  quad(-pmouseX/1.6+50+260-200+222.5, 239, -pmouseX/1.6+50+260-200+220, 270, -pmouseX/1.6+50+260-200+227, 270, -pmouseX/1.6+50+260-200+230, 246);
  quad(-pmouseX/1.6+50+260-200+220, 270, -pmouseX/1.6+50+260-200+214, 290, -pmouseX/1.6+50+260-200+220, 290, -pmouseX/1.6+50+260-200+227, 270);
  quad(-pmouseX/1.6+50+260-200+177.5, 239, -pmouseX/1.6+50+260-200+180, 270, -pmouseX/1.6+50+260-200+173, 270, -pmouseX/1.6+50+260-200+170, 246);
  quad(-pmouseX/1.6+50+260-200+180, 270, -pmouseX/1.6+50+260-200+186, 290, -pmouseX/1.6+50+260-200+180, 290, -pmouseX/1.6+50+260-200+173, 270);

  //Hair
  fill(51, 51, 53);
  triangle(-pmouseX/1.6+50+260-200+155, 290, -pmouseX/1.6+50+260-200+245, 290, -pmouseX/1.6+50+260-200+200, 315);
  triangle(-pmouseX/1.6+50+260-200+200, 285, -pmouseX/1.6+50+260-200+180, 310, -pmouseX/1.6+50+260-200+220, 310);
}