Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
void setup () {
  size (400, 400);
  rectMode(CORNERS);
  ellipseMode (CORNERS);
  ellipseMode (CENTER);
  frameRate (60);
  //lightSpecular(255, 255, 255);

}

void draw() {
  //draw background
  background(#bc9fff);
  
    //Draw the glass
  fill(#b7fcff);
  rectMode(CORNERS);
  rect(130,90, 270, 230);
  
  //Monster body
  fill (#f63737);
  ellipseMode (CENTER);
  ellipse (200, 220, 40, 70);
  fill (#f68c37);
  ellipse (200, 220, 20, 70);
  
  //Draw the monster scales
   triangle (200, 120, 180, 180, 220, 180);
  
  //Draw Monster head
  //lightSpecular(255, 255, 255);
  fill (#f63737);
  ellipseMode (CENTER);
  ellipse(200, 160, 60, 60);
 
  //Draw Monster mouth
  stroke (0);
  line (180, 180, 220, 180);
  
  //whites of eyes
  fill (255);
  ellipse (180, 160, 20, 20);
  ellipse (220, 160, 20, 20);
  
  //black eyes
  fill (0);
  ellipseMode (CENTER);
  //left
  ellipse (180 + (mouseX - 200)/60, 160 + (mouseY - 200)/60, 10, 10);
  
  //right
  ellipse (220 + (mouseX - 200)/60, 160 + (mouseY - 200)/60, 10, 10);
  

   //Draw the balls
  ellipseMode (CENTER);
  ellipse (140, 200, 20, 20);
  fill (#a337f6);
  ellipse (220, 200, 20, 20);
  fill (#50d2b5);
  ellipse (200, 220, 20, 20);
  fill (#2fa600);
  ellipse (160, 180, 20, 20);
  fill (#bf1313);
  ellipse (240, 170, 20, 20);
  fill (#e7e930);
  ellipse (210, 200, 20, 20);
  fill (#2ba8ff);
  ellipse (180, 200, 20, 20);
  fill (#13bdbf);
  ellipse (160, 210, 20, 20);
  fill (#13bdbf);
  ellipse (130, 180, 20, 20);
  fill (#e7e930);
  ellipse (260, 210, 20, 20);
  fill (#2fa600);
  ellipse (180, 220, 20, 20);
  fill (#a337f6);
  ellipse (150, 220, 20, 20);
  fill (#a337f6);
  ellipse (130, 220, 20, 20);
  fill (#bf1313);
  ellipse (240, 220, 20, 20);
  fill (#0ca036);
  ellipse (200, 220, 20, 20);
  ellipse (160, 180, 20, 20);
  ellipse (240, 200, 20, 20);
  fill (#0ca036);
  ellipse (260, 230, 20, 20);
  shininess (1.0);
  fill (#9726d1);
  ellipse (180, 220, 20, 20);
  fill (#ecb806);
  ellipse (240, 200, 20, 20);
  fill (#09a71f);
  
  
   //Draw sides of glass
  noStroke();
  fill(#ce63c8);
  rectMode(CORNERS);
  rect(120, 80, 280, 90);
  rect(120, 80, 130, 240);
  rect (120, 230, 280, 240);
  rect (270, 80, 280, 240);
 
  //Draw the control board (rectangle)
  fill(#ee86e8);
  rectMode(CORNERS);
  rect(120, 240, 280, 280);
  
  //Draw the control board (left triangle)
  fill(#ee86e8);
  triangle(120,240, 120, 280, 80, 280);
  line (120, 240, 80, 280);
  
  //Draw the control board (right triangle)
  fill(#ee86e8);
  triangle(280, 240, 280, 280, 320, 280);
  
 //Draw the base
 fill(#ee86e8);
 rectMode(CORNERS);
 rect (100, 300, 300, 400);
 
 //Draw the base (Shadow)
 fill (#ce63c8);
 rectMode(CORNERS);
 rect(80, 280, 320, 300);
  
  //Draw the top of the headboard
  fill (#ee86e8);
  rectMode(CORNERS);
  rect(110, 50, 290, 70);
  
  //Draw top of headboard (shadow)
  fill (#ce63c8);
  rectMode(CORNERS);
  rect (120, 70, 280, 80);
 
 //Draw top of headboard (shadow-triangles-left)
  
 fill (#ce63c8);
 triangle (110, 70, 120, 80, 120, 70);
 
  //Draw top of headboard (shadow-triangles-right)
 fill (#ce63c8);
 triangle (280, 70, 290, 70, 280, 80);
 
 //Draw the pull-out box
 fill(#ce63c8);
 rectMode(CORNERS);
 rect (140, 320, 260, 380);

 
 //Draw the joystick pad
 noStroke();
 ellipseMode (CORNERS);
 ellipse (180, 260, 220, 270);
 
   //Draw joystick
 stroke (0);
 line (200, 240, 200, 260);
 fill (#ff1d1d);
 ellipseMode (CORNERS);
 ellipse(190, 220, 210, 240);

//Draw mouse follow thing
ellipseMode (CENTER);
fill (#5d63d7);
ellipse (mouseX, mouseY, 15, 15);
fill (#ffee2b);
ellipse (mouseX, mouseY, 35, 5);
 
}

void mousePressed () {
  
  frameRate (9);
  fill (#ff9cf2);
  triangle (180, 180, 220, 180, mouseX, mouseY);
  
}