Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
      //_________Moon passing over the Earth___________\\
     //_________________________________________________\\
    //_________________Ashwin Kamath_____________________\\
   //_____________________________________________________\\
  //_____________________991439289_________________________\\
 //_________________________________________________________\\
//***********************************************************\\





void setup()
{
  //Set canvas size to 400X400
  size(400,400); 
  
}

void draw()
{
  //Set framerate to 60
  frameRate(60);
  //Draw Space. Adds a glare effect to the screen when mouse cursor is moved across the screen.
  background(constrain(mouseX,0,40)); 
   {
   //Planet in the distance
   noStroke();
   fill(225,30,0,140);
   ellipse(300+mouseX/30,120+mouseX/30,25,25);
   fill(225,30,0,230);
   ellipse(300+mouseX/30,120+mouseX/30,20,20);
   fill(225,160,0,230);
   ellipse(294+mouseX/30,120+mouseX/30,2,2);
   fill(225,160,0,230);
   ellipse(300+mouseX/30,125+mouseX/30,4,2);
   fill(225,160,0,230);
   ellipse(300+mouseX/30,115+mouseX/30,8,2);
   fill(240,0,0,150);
   ellipse(300+mouseX/30,120+mouseX/30,70,8);
   }
   {
   //Stars
   fill(255);
   ellipse(50+mouseX/12, 100+mouseX/16,random(0,5), random(0,5));
   fill(255);
   ellipse(150+mouseX/12, 60+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(75+mouseX/12, 180+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(120+mouseX/12, 50+mouseX/12,random(0,3), random(0,3));
   fill(255);
   ellipse(300+mouseX/12, 140+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(170+mouseX/12, 120+mouseX/12,random(0,3), random(0,3));
   fill(255);
   ellipse(240+mouseX/12, 260+mouseX/12,random(0,5), random(0,5));
    fill(255);
   ellipse(175+mouseX/12, 280-mouseX/12,random(0,3), random(0,3));
   fill(255);
   ellipse(320+mouseX/12, 153+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(340-mouseX/12, 343+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(190+mouseX/12, 170+mouseX/12,random(0,2), random(0,3));
   fill(255);
   ellipse(347+mouseX/12, 268-mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(200+mouseX/12, mouseX/12,random(0,3), random(0,3));
   fill(255);
   ellipse(300+mouseX/18, mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(280+mouseX/12, 343+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(190+mouseX/14, 270+mouseX/14,random(0,3), random(0,3));
   fill(255);
   ellipse(347+mouseX, 268+mouseX/14,random(0,5), random(0,5));
   fill(255);
   ellipse(300+mouseX/2, 150,random(0,5), random(0,5));
   //Add static stars
   fill(255);
   ellipse(20, 50,random(0,5), random(0,5));                
   fill(255);
   ellipse(340, 220,random(0,5), random(0,5));
   fill(255);
   ellipse(120+mouseX/14, 170+mouseX/16,random(0,5), random(0,5));
   fill(255);
   ellipse(250+mouseX/16, mouseX/18,random(0,5), random(0,5));
   fill(255);
   ellipse(100+mouseX/12, 200+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(190+mouseX/12, 170+mouseX/12,random(0,2), random(0,3));
   fill(255);
   ellipse(347+mouseX/12, 268+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(340-mouseX/12, 343+mouseX/12,random(0,5), random(0,5));
   fill(255);
   ellipse(50+mouseX/12, 170+mouseX/12,random(0,2), random(0,3));
   fill(255);
   ellipse(57+mouseX/12, 268-mouseX/12,random(0,5), random(0,5));
   }
   {
   //Draw Space station
   fill(140);
   rect(140+pmouseX/6,100+pmouseX/4,6,18);
   fill(140);
   rect(150+pmouseX/6,100+pmouseX/4,6,18);
   fill(200,80,0);
   rect(140+pmouseX/6,120+pmouseX/4,6,18);
   fill(200,80,0);
   rect(150+pmouseX/6,120+pmouseX/4,6,18);
   fill(140);
   rect(190+pmouseX/6,100+pmouseX/4,6,18);
   fill(140);
   rect(180+pmouseX/6,100+pmouseX/4,6,18);
   fill(200,80,0);
   rect(190+pmouseX/6,120+pmouseX/4,6,18);
   fill(200,80,0);
   rect(180+pmouseX/6,120+pmouseX/4,6,18);
   fill(110);
   rect (145+pmouseX/6,118+pmouseX/4,45,2);
   fill(220);
   rect (162+pmouseX/6,110+pmouseX/4,12,10);
   fill(150);
   rect (162+pmouseX/6,110+pmouseX/4,6,5);
   }
   { 
   //Planet Earth before mouse click------> Normal state
   fill(255,255,255,random(45,50));
   ellipse(400+mouseX/18,400+mouseY/18,890,490);
   fill(255,255,255,190);
   ellipse(400+mouseX/18,400+mouseY/18,870,470);
   fill(0,0,220);
   ellipse(400+mouseX/18,400+mouseY/18,860,460);
   fill(0,200,0);
   rect(200+mouseX/18,200+mouseY/18,100,75,100);
   fill(0,200,0);
   rect(250+mouseX/18,210+mouseY/18,120,90,100);
   fill(0,200,0);
   rect(140+mouseX/18,250+mouseY/18,100,85,100);
   fill(0,200,0);
   ellipse(200+mouseX/18,260+mouseY/18,100,75);
   fill(0,200,0);
   ellipse(240+mouseX/18,320+mouseY/18,100,75);
   fill(0,200,0);
   rect(20+mouseX/18,340+mouseY/18,120,90,100);
   fill(0,200,0);
   ellipse(50+mouseX/18,340+mouseY/18,100,45);
   fill(0,200,0);
   ellipse(80+mouseX/18,330+mouseY/18,100,45);
   fill(0,200,0);
   rect(360+mouseX/18,360+mouseY/18,120,90,100);
   fill(0,200,0);
   ellipse(350+mouseX/18,360+mouseY/18,100,75);
   fill(255,255,255,120);
   ellipse(400+mouseX/18,400+mouseY/18,950,550);
   }
   {
   //Moon
        //Shadow of the moon..opacity increases as the mouse cursor moves across the screen
        fill(10,10,10,mouseX);        
        ellipse(mouseX+60,constrain(mouseY+60,360,400),mouseX+20,mouseX+20);
            //Draw moon.
            fill(255);
            ellipse(mouseX,mouseY,mouseX+20,mouseX+20);
   }
}
// Destruction of the Earth!
void mousePressed()                            
{
  frameRate(5);
   fill(255,255,255,random(45,50));
 ellipse(400+mouseX/18,400+mouseY/18,890,490);
  fill(255,255,255,190);
 ellipse(400+mouseX/18,400+mouseY/18,870,470);
  fill(255,0,0);
 ellipse(400+mouseX/18,400+mouseY/18,860,460);
  fill(200,200,0);
 rect(200+mouseX/18,200+mouseY/18,100,75,100);
  fill(200,200,0);
 rect(250+mouseX/18,210+mouseY/18,120,90,100);
  fill(200,200,0);
 rect(140+mouseX/18,250+mouseY/18,100,85,100);
  fill(200,200,0);
 ellipse(200+mouseX/18,260+mouseY/18,100,75);
 fill(200,200,0);
 ellipse(240+mouseX/18,320+mouseY/18,100,75);
 fill(200,200,0);
 rect(20+mouseX/18,340+mouseY/18,120,90,100);
 fill(200,200,0);
 ellipse(50+mouseX/18,340+mouseY/18,100,45);
 fill(200,200,0);
 ellipse(80+mouseX/18,330+mouseY/18,100,45);
 fill(200,200,0);
 rect(360+mouseX/18,360+mouseY/18,120,90,100);
 fill(200,200,0);
 ellipse(350+mouseX/18,360+mouseY/18,100,75);
 fill(255,200,0,120);
 ellipse(400+mouseX/18,400+mouseY/18,950,550);
 //Print a message
 println("BOOM!");
}