> show canvas only <


/* built with Studio Sketchpad: 
 *   https://sketchpad.cc
 * 
 * observe the evolution of this sketch: 
 *   https://studio.sketchpad.cc/sp/pad/view/ro.VvJDa5qdHfn/rev.491
 * 
 * authors: 
 *   Jacob Moore
 *   Thorn
 *   

 * license (unless otherwise specified): 
 *   creative commons attribution-share alike 3.0 license.
 *   https://creativecommons.org/licenses/by-sa/3.0/ 
 */ 



void setup()
{
  size(600, 600);
 
  smooth();
  noStroke();
}
 
void draw()
{
  background(0, 0, 0);
  frameRate(5);
  fill(0, 205, 50);
  triangle(50, 500, 350, 500, 200, 100);
  fill(255,255,255);     //background snow
  rect(0,(550-frameCount/5), width, (50+frameCount/5));
 
  fill(137, 100, 90);  //stump
  rect(175, 500, 50, 60); 
   
  fill(255, 255, 255);  //snow in front of stump
  rect(0,(560-frameCount/5),width,(frameCount/5));
 
 
 //base shape
stroke(255);
fill(255,255,255);
ellipse(450, 350, 80, 80);
ellipse(450, 430, 100, 100);
ellipse(450, 510, 130, 130);

//pipe
stroke(131,62,29);
fill(131, 62,29);
rect(463,360,10,10);
line(450,360,470,367);

//hat
stroke(242,20,0);
fill(242,20,0);
line(490, 315, 410, 315);
strokeWeight(1);
fill(242,20,0);
rect(420, 275, 60, 40);

//eyes
stroke(0);
strokeWeight(7);
point(435, 335);
point(465, 335);
 
//nose
stroke(355, 124, 0);
fill(355, 124, 0);
triangle(428, 353, 448, 340, 449, 350);
 
 
//buttons
strokeWeight(15);
stroke(3, 3, 3);
point(450, 400);
point(450, 420);
point(450, 440);
 
  strokeWeight(1);
  
  
  // Star
  fill(255, 236, 23);
  triangle(200, 150, 175, 100, 225, 100);
  triangle(175, 125, 225, 125, 200, 75);
  
 
  // Lights
  fill(random(200, 255), random(255), random(255));
  ellipse(random(100, 300), random(440, 460), 10, 10);
 
  fill(random(0, 255), random(200, 255), random(255));
  ellipse(random(105, 295), random(415, 435), 10, 10);
 
  fill(random(0, 255), random(255), random(200, 255));
  ellipse(random(110, 290), random(390, 410), 10, 10);
 
  fill(random(200, 255), random(255), random(255));
  ellipse(random(115, 285), random(365, 385), 10, 10);
 
  fill(random(200, 255), random(200, 255), random(255));
  ellipse(random(120, 280), random(340, 360), 10, 10);
 
  fill(random(200, 255), random(255), random(200, 255));
  ellipse(random(130, 270), random(315, 335), 10, 10);
 
  fill(random(200, 255), random(255), random(255));
  ellipse(random(140, 260), random(290, 310), 10, 10);
 
  fill(random(0, 255), random(200, 255), random(255));
  ellipse(random(145, 255), random(265, 285), 10, 10);
 
  fill(random(0, 255), random(255), random(200, 255));
  ellipse(random(160, 240), random(240, 260), 10, 10);
 
  fill(random(200, 255), random(255), random(255));
  ellipse(random(175, 225), random(215, 235), 10, 10);
 
  fill(random(0, 255), random(255), random(200, 255));
  ellipse(random(180, 220), random(175, 200), 10, 10);
 
  fill(random(0, 255), random(255), random(200, 255));
  ellipse(random(190, 210), random(150, 160), 10, 10);
  
 
  // Snow
  stroke(400, 400, 400);
  strokeWeight(3);
 
  for (int i = 0; i < 10; i = i+1)
  {
    for (int j=0; j<10; j=j+1)
    {
      point(random(i*60, (i+1)*60), random(height));
    }
  }
 
 
 
  noStroke();
}