Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
//First interaction drawing made by Karanvir Sidhu for
//Media Computation class. 
//Move your mouse around to make the background change.
//Click to make the Creeper hiss
//Press any key for him to explode!



void setup()
{
  size(400,400);
  println ("Becareful! Creepers blow up!");
}
 
void draw()
{
 
  smooth();
  
rectMode(CORNER);
background(255);
noStroke();
fill(255-mouseX,82,255-mouseY, 200);
rect(0,0,400,400);


//ground
fill(69, 147, 67);
rect(0, 280, 400, 120);


//Shadow
fill(95, 95, 95);
ellipse(240, 340, 180, 80);

// Creeper Body
fill(95, 188, 76);

//This is the bottom "cubes" top face
triangle(140, 260, 200, 300, 280, 260);
triangle(140, 260, 220, 220, 280, 260);

//Bottom cubes front face
triangle(140, 260, 200, 300, 200, 360);
triangle(140, 260,140, 320, 200, 360);

//Bottom cubes side faces
triangle(200, 300, 200, 360, 230, 280);
triangle(230, 345, 200, 360, 230, 280);

triangle(250, 335, 250, 275, 280, 260);
triangle(250, 335, 280, 320, 280, 260);
triangle(160, 275, 250, 275, 250, 335);


//Creeper body (torso)
triangle(170, 245, 170, 130, 230, 285);
triangle(230, 160, 170, 130, 230, 285);

triangle(230, 285, 230, 160, 250, 160);
triangle(230, 285, 250, 275, 250, 140);

//Creeper Head
stroke(0,0,0);
quad(150, 40, 220, 10, 290, 40, 220, 80);
quad(150, 40, 220, 80, 220, 170, 150, 120);
quad(220, 80, 290, 40, 290, 140, 220, 170);

//Separation lines
stroke(0,0,0);
line(170, 245, 230, 285);
line(170, 135, 170, 245);
line(230, 165, 230, 285);
line(250, 160, 250, 335);
line(200, 300, 280, 260);
line(250, 240, 280, 260);
line(280, 260, 280, 320);
line(200, 300, 140, 260);
line(140, 260, 170, 245);
line(140, 260, 140, 320);
line(200, 300, 200, 360);
line(230, 285, 230, 345);
line(140, 320, 200, 360);
line(230, 320, 250, 335);
line(200, 360, 230, 345);
line(250, 335, 280, 320);


//Creeper Face
fill(0,0,0);
quad(160, 70, 180, 80, 180, 100, 160, 90);
quad(190, 85, 210, 100, 210, 120, 190, 105);
quad(180, 100, 190, 105, 190, 115, 180, 110);
quad(170, 105, 200, 120, 200, 130, 170, 115);
quad(170, 115, 180, 120, 180, 130, 170, 125);
quad(190, 125, 200, 130, 200, 140, 190, 135);

noStroke();

//The Hiss S's
fill(130, 130, 130);
rect(40, 40, 40, 10);
rect(40, 50, 10, 10);
rect(40, 60, 40, 10);
rect(70, 70, 10, 10);
rect(40, 80, 40, 10);

rect(80, 100, 40, 10);
rect(80, 110, 10, 10);
rect(80, 120, 40, 10);
rect(110, 130, 10, 10);
rect(80, 140, 40, 10);

rect(320, 160, 60, 20);
rect(320, 180, 20, 20);
rect(320, 200, 60, 20);
rect(360, 220, 20, 20);
rect(320, 240, 60, 20);

rect(80, 180, 55, 20);
rect(80, 200, 20, 10);
rect(80, 210, 55, 20);
rect(120, 230, 15, 10);
rect(80, 240, 55, 20);

rect(320, 20, 40, 10);
rect(320, 30, 10, 10);
rect(320, 40, 40, 10);
rect(350, 50, 10, 10);
rect(320, 60, 40, 10);



}

void mousePressed()
{
  println ("Sssssssssssss!");
}
 
void keyPressed()
{
  println ("BOOM!!");
}