/*
__________________________________________________________
ASSIGNMENT 1 : INTERACTIVE DRAWING
"The Goldfish's Dilemma" by Nicklas Steffensen 991 318 977
__________________________________________________________
*/
//Sets the window size to 400px by 400px, and enables anti-aliasing
void setup(){
size (400, 400);
smooth (0);
rectMode(CENTER);
ellipseMode(CENTER);
}
void draw (){
//since the ocean is most prevalent colour in the image, the background colour is set to a dark blue
background (#010246);
noStroke ();
//creates a sky colour gradient that goes from bright blue (daytime) to a dark red (sunset) based on the x position of the mouse. The rate at which the RGB value decreases was slowed by dividing the mouseX value in half, creating a slower transition of colour
fill (50, 0, 255-(mouseX/2));
rect (200, 0, 400, 320);
//the fisherman's torso
fill (#5A0705);
rect (350, 100, 60, 90);
rect (305, 100, 30, 50);
triangle (320, 55, 320, 75, 290, 75);
//the fisherman's scarf
fill (#FFCF67);
rect (350, 35, 60, 35);
//the fisherman's head
fill (#CB0000);
rect (350, 55, 60, 5);
//the fisherman's cap
fill (#008110);
rect (350, 25, 60, 15);
stroke(0);
strokeWeight(3);
line (380, 30, 300, 30);
//the hem of the fishermna's sleeve
stroke(0);
strokeWeight(2);
line (320, 75, 320, 100);
//the fishing rod
stroke(0);
strokeWeight(5);
line (320, 120, 200, 60);
noStroke();
//the fishing boat
fill (#868686);
triangle (300, 160, 260, 100, 300, 100);
rect (500, 130, 400, 60);
//the goldfish
fill (#FA4700);
//the dorsel fins of the goldfish; the coordinates are mapped to the mouse's x and y coordinates to ensure they move in tandem
triangle (mouseX-30, mouseY, mouseX-60, mouseY-30, mouseX-70, mouseY-10);
triangle (mouseX-30, mouseY, mouseX-60, mouseY+30, mouseX-70, mouseY+10);
//the goldfish's body
ellipse (mouseX, mouseY, 75, 50);
//creates parameters for a thin black line (the fishing line)
stroke(0);
strokeWeight(1);
//the fishing line
line (200, 60, mouseX+38, mouseY);
fill (0);
//the goldfish's eye
ellipse (mouseX+20, mouseY-10, 5, 5);
}
//prints the sort of dialogue you'd expect to hear from a goldfish whenever the mouse is clicked
void mouseClicked() {
println("*glub glub*");
}