/* Ata Dogan
Introduction to Media Computaion
Assignment #1
*/
//Sunny Day and a Worm
void setup() {
// sets the size of window and framerate
size(400,400);
smooth();
frameRate(60);
}
void draw() {
// ***draw a light blue background
background(0,75,107);
fill(171,224,225,255-mouseY/2);
rect(0,0,400,400);
// Sun and Sun Flares Spin based on frame count
rectMode(CENTER);
translate(80,80+mouseY/2.5);
rotate(frameCount * 0.01);
fill(255,237,42, 60-mouseY/5);
rect(0,0,20,325,20);
rotate(-frameCount * 0.01);
translate(-80,-80-mouseY/2.5);
translate(80,80+mouseY/2.5);
rotate((frameCount * 0.01)+5);
fill(255,237,42, 60-mouseY/5);
rect(0,0,20,325,20);
rotate((-frameCount * 0.01)-5);
translate(-80,-80-mouseY/2.5);
translate(80,80+mouseY/2.5);
rotate((frameCount * 0.01)+10);
fill(255,237,42, 60-mouseY/5);
rect(0,0,20,325,20);
rotate((-frameCount * 0.01)-10);
translate(-80,-80-mouseY/2.5);
translate(80,80+mouseY/2.5);
rotate((frameCount * 0.01)+15);
fill(255,237,42, 60-mouseY/5);
rect(0,0,20,325,20);
rotate((-frameCount * 0.01)-15);
translate(-80,-80-mouseY/2.5);
translate(80,80+mouseY/2.5);
rotate((frameCount * 0.01)+20);
fill(255,237,42, 60-mouseY/5);
rect(0,0,20,325,20);
rotate((-frameCount * 0.01)-20);
translate(-80,-80-mouseY/2.5);
//Sun itself
ellipseMode(CENTER);
fill(255,237,42);
ellipse(80,80+mouseY/2.5,40,40);
fill(255,237,42,100);
ellipse(80,80+mouseY/2.5,50,50);
fill(255,237,42,60);
ellipse(80,80+mouseY/2.5,60,60);
// Clouds
fill(255, 255, 255);
noStroke();
rect(mouseX/2+130, 30, 55, 8, 20);
rect(mouseX/2+145, 37, 5, 15, 20);
rect(mouseX/2+153, 45, 45, 8, 20);
fill(255, 255, 255);
noStroke();
rect(mouseX/4+50, 110, 70, 8, 20);
rect(mouseX/4+60, 117, 7, 15, 20);
rect(mouseX/4+70, 125, 55, 8, 20);
fill(255, 255, 255);
noStroke();
rect(mouseX/3+140, 80, 55, 8, 20);
rect(mouseX/3+155, 87, 5, 15, 20);
rect(mouseX/3+163, 95, 45, 8, 20);
fill(255, 255, 255);
noStroke();
rect(mouseX/3+300, 80, 55, 8, 20);
rect(mouseX/3+315, 87, 5, 15, 20);
rect(mouseX/3+323, 95, 45, 8, 20);
fill(255, 255, 255);
noStroke();
rect(mouseX/2.5+130, 140, 55, 8, 20);
rect(mouseX/2.5+145, 147, 5, 15, 20);
rect(mouseX/2.5+153, 155, 45, 8, 20);
// Grass
//Grass Highlights
fill(111,184,100);
ellipseMode(CORNERS);
ellipse(-40,237,160,277);
ellipse(120,237,450,287);
fill(105,176,94);
ellipse(-40,240,160,280);
ellipse(120,240,450,290);
//Underground
rectMode(CORNERS);
fill(151, 106, 59);
rect(0, 270, 400, 400);
// Underground Shadow
fill(0, 0, 0, 80);
rect(0, 270, 400, 265);
// Worm Hole Shadows stays behind worm
fill(0,50);
rect(63,310,65,330,60);
fill(0,50);
rect(145,310,143,330,60);
// Worm
fill(218, 132, 20);
rect(mouseX/2-10,315,mouseX/2+50,325,20);
fill(0, 0, 0,60);
rect(mouseX/2-10,322,mouseX/2+50,324,20);
fill(0,0,0,100);
ellipse(mouseX/2+45,317,mouseX/2+47,319);
// Worm Holes
fill(151, 106, 59);
rect(0,300,63,325);
rect(145,300,400,325);
fill(0,30);
rect(60,308,63,332,40);
fill(0,30);
rect(145,308,148,332,40);
// makes everything darker as mouse goes down
fill(0,0,0,mouseY/5);
rect(0,0,400,400);
}