void setup()
{
size(400,400);
noStroke();
}
void draw()
{
background(0,255-mouseY,255);
//stars
ellipseMode(CENTER);
fill(255,255,0,mouseY);
ellipse(100,130,5,5);
ellipse(200,100,6,6);
ellipse(240,150,5,5);
ellipse(50,120,2,2);
ellipse(180,110,5,5);
ellipse(150,170,5,5);
ellipse(330,120,3,3);
ellipse(300,110,5,5);
ellipse(370,170,5,5);
ellipse(210,80,5,5);
ellipse(200,150,4,4);
ellipse(20,60,5,5);
ellipse(330,30,5,5);
//mountain 3
fill(205-mouseY,205-mouseY,143-mouseY);
beginShape();
vertex(-100+mouseX/7,250);
vertex(40+mouseX/7,280);
vertex(140+mouseX/7,240);
vertex(260+mouseX/7,250);
vertex(330+mouseX/7,220);
vertex(430+mouseX/7,250);
vertex(430+mouseX/7,600);
vertex(-100+mouseX/7,600);
endShape();
//mountain 2
fill(223-mouseY,223-mouseY,100-mouseY);
beginShape();
vertex(-80+mouseX/5,300);
vertex(20+mouseX/5,206);
vertex(120+mouseX/5,270);
vertex(240+mouseX/5,230);
vertex(500+mouseX/5,400);
vertex(500+mouseX/5,600);
vertex(-500+mouseX/5,600);
endShape();
//mountain 1
fill(255-mouseY,255-mouseY,0);
beginShape();
vertex(180+mouseX/3,240);
vertex(220+mouseX/3,230);
vertex(320+mouseX/3,260);
vertex(380+mouseX/3,280);
vertex(440+mouseX/3,200);
vertex(500+mouseX/3,280);
vertex(500+mouseX/3,600);
vertex(-180+mouseX/3,600);
vertex(-180+mouseX/3,320);
endShape();
//clouds 1
rectMode(CENTER);
fill(255,100);
rect(20+mouseX/3,80,200,50,50);
rect(350+mouseX/3,100,200,50,50);
//clouds 2
fill(255,100);
rect(-40+mouseX/5,130,100,30,50);
rect(350+mouseX/5,150,100,25,50);
rect(200+mouseX/5,140,100,20,50);
//clouds 3
fill(255,100);
rect(20+mouseX/7,190,100,10,50);
rect(400+mouseX/7,200,100,15,50);
rect(200+mouseX/7,180,100,10,50);
rectMode(CORNER);
//beak
fill(255-mouseY,200-mouseY,0);
rect(-(tan(frameCount*0.005) * 500) + 14,65,10,5,50);
//body
fill(200-mouseY,200-mouseY,200-mouseY);
rect(-(tan(frameCount*0.005) * 500) + 20,60,23,13,50);
//eyes
fill(0+mouseY,0,0);
rect(-(tan(frameCount*0.005) * 500) + 22,63,5,5,50);
//wing
fill(255-mouseY,255-mouseY,255-mouseY);
translate(-(tan(frameCount*0.005) * 500) + 10,0);
rotate(sin(frameCount*0.5) / 16);
translate((tan(frameCount*0.005) * 500) + 10,0);
rect(-(tan(frameCount*0.005) * 500) + 10,60,20,10,50);
}