//Fish Tank
//Rachel Keilhofer
//Instructions:
//Move mouse to move fish
//Press mouse button to change colours
//Press any key to animate fish
void setup() {
//Set the size of the window
size(400, 400);
}
void draw() {
//Set frame rate
frameRate(20);
//Set ellipse to CENTER mode
ellipseMode(CENTER);
//Draw a light blue background
background(100, 200, 255, 200);
//Draw Dark Blue Base
fill(0, 100, 155, 200);
noStroke();
ellipse(200, 400, 400, 160);
//Set rectangle and ellipse to CORNERS mode
rectMode(CORNERS);
ellipseMode(CORNERS);
//Draw Light Green Seaweed
noStroke();
fill(50, 240, 10, 220);
//Draw triangle
triangle(40, 130, 50, 110, 60, 130);
//Draw rectangle
rect(45, 120, 55, 380);
//Draw circles
ellipse(40, 360, 60, 380);
ellipse(40, 320, 60, 340);
ellipse(40, 280, 60, 300);
ellipse(40, 240, 60, 260);
ellipse(40, 200, 60, 220);
ellipse(40, 160, 60, 180);
ellipse(40, 120, 60, 140);
//Draw Dark Green Seaweed
fill(50, 160, 10, 220);
//Draw triangle
triangle(150, 70, 140, 90, 160, 90);
//Draw rectangle
rect(145, 80, 155, 340);
//Draw circles
ellipse(140, 320, 160, 340);
ellipse(140, 280, 160, 300);
ellipse(140, 240, 160, 260);
ellipse(140, 200, 160, 220);
ellipse(140, 160, 160, 180);
ellipse(140, 120, 160, 140);
ellipse(140, 80, 160, 100);
//Draw Mid-tone Green Seaweed
fill(50, 200, 10, 220);
//Draw triangle
triangle(330, 90, 320, 110, 340, 110);
//Draw rectangle
rect(325, 100, 335, 360);
//Draw circles
ellipse(320, 340, 340, 360);
ellipse(320, 300, 340, 320);
ellipse(320, 260, 340, 280);
ellipse(320, 220, 340, 240);
ellipse(320, 180, 340, 200);
ellipse(320, 140, 340, 160);
ellipse(320, 100, 340, 120);
//Draw Orange Fish
fill(255, 150, 20);
ellipseMode(CENTER);
//Draw fish body
ellipse(mouseX, mouseY, 80, 60);
//Draw fish tail
triangle(mouseX+30, mouseY, mouseX+60, mouseY-30, mouseX+60, mouseY+30);
//Draw fin
fill(255, 100, 0);
triangle(mouseX, mouseY, mouseX+20, mouseY-20, mouseX+20, mouseY+20);
//Draw white fish eye
fill(255);
ellipse(mouseX-20, mouseY-5, 15, 15);
//Draw fish pupil
fill(0);
ellipse(mouseX-22.5, mouseY-5, 7.5, 7.5);
//Draw fish mouth
stroke(0);
strokeWeight(2);
line(mouseX-35, mouseY+10, mouseX-20, mouseY+10);
noStroke();
}
//Change colours when mouse is pressed
void mousePressed() {
//Set frame rate
frameRate(5);
//Set ellipse to CENTER mode
ellipseMode(CENTER);
//Draw a light pink background
background(230, 150, 150, 200);
//Draw dark pink base
fill(255, 50, 50, 200);
noStroke();
ellipse(200, 400, 400, 160);
//Set rectangle and ellipse to CORNERS mode
rectMode(CORNERS);
ellipseMode(CORNERS);
//Draw Light Purple Seaweed
noStroke();
fill(255, 50, 255, 220);
//Draw triangle
triangle(40, 130, 50, 110, 60, 130);
//Draw rectangle
rect(45, 120, 55, 380);
//Draw circles
ellipse(40, 360, 60, 380);
ellipse(40, 320, 60, 340);
ellipse(40, 280, 60, 300);
ellipse(40, 240, 60, 260);
ellipse(40, 200, 60, 220);
ellipse(40, 160, 60, 180);
ellipse(40, 120, 60, 140);
//Draw Dark Purple Seaweed
fill(200, 0, 255, 220);
//Draw triangle
triangle(150, 70, 140, 90, 160, 90);
//Draw rectangle
rect(145, 80, 155, 340);
//Draw circles
ellipse(140, 320, 160, 340);
ellipse(140, 280, 160, 300);
ellipse(140, 240, 160, 260);
ellipse(140, 200, 160, 220);
ellipse(140, 160, 160, 180);
ellipse(140, 120, 160, 140);
ellipse(140, 80, 160, 100);
//Draw Mid-tone Pink Seaweed
fill(225, 25, 255, 220);
//Draw triangle
triangle(330, 90, 320, 110, 340, 110);
//Draw rectangle
rect(325, 100, 335, 360);
//Draw circles
ellipse(320, 340, 340, 360);
ellipse(320, 300, 340, 320);
ellipse(320, 260, 340, 280);
ellipse(320, 220, 340, 240);
ellipse(320, 180, 340, 200);
ellipse(320, 140, 340, 160);
ellipse(320, 100, 340, 120);
//Draw Orange Fish
fill(255, 150, 20);
ellipseMode(CENTER);
//Draw fish body
ellipse(mouseX, mouseY, 80, 60);
//Draw fish tail
triangle(mouseX+30, mouseY, mouseX+60, mouseY-30, mouseX+60, mouseY+30);
//Draw fin
fill(255, 100, 0);
triangle(mouseX, mouseY, mouseX+20, mouseY-20, mouseX+20, mouseY+20);
//Draw white fish eye
fill(255);
ellipse(mouseX-20, mouseY-5, 15, 15);
//Draw fish pupil
fill(0);
ellipse(mouseX-22.5, mouseY-5, 7.5, 7.5);
//Draw fish mouth
stroke(0);
strokeWeight(2);
line(mouseX-35, mouseY+10, mouseX-20, mouseY+10);
noStroke();
}
//Press any key, fish smiles and blows bubbles
void keyPressed() {
//Lower Frame Rate
frameRate(5);
//Draw white fish eye
fill(255);
ellipse(mouseX-20, mouseY-5, 15, 15);
//Draw fish pupil
fill(0);
ellipse(mouseX-17.5, mouseY-7.5, 7.5, 7.5);
//Draw fish mouth
stroke(0);
strokeWeight(2);
line(mouseX-35, mouseY+10, mouseX-20, mouseY+10);
//Draw fish mouth bottom
line(mouseX-20, mouseY+10, mouseX-28, mouseY+20);
//Draw bubbles
noStroke();
strokeWeight(1);
fill(0, 150, 255, 150);
ellipse(mouseX-65, mouseY-15, 15, 15);
ellipse(mouseX-45, mouseY-45, 15, 15);
ellipse(mouseX-60, mouseY-80, 15, 15);
//Draw bubble hightlights
fill(255, 200);
ellipse(mouseX-62.5, mouseY-17.5, 7, 7);
ellipse(mouseX-42.5, mouseY-47.5, 7, 7);
ellipse(mouseX-57.5, mouseY-82.5, 7, 7);
}