/* Bears love fish ////////////// /////////////By Jennifer Stienstra//////////// */ //variables for the first fish float tail1y; float tail2y; float tail3y; float fish1y; float eye1y; //variables for the second fish float tail4y; float tail5y; float tail6y; float fish2y; float eye2y; //variables for the third fish float tail7y; float tail8y; float tail9y; float fish3y; float eye3y; /*boolean created for when the game is being played, and turned off when the game is lost*/ boolean display; //variable for rocks above fish int rockAmount; void setup() { size(400, 400); //values for first fish display = true; rockAmount = 10; tail1y = 0; tail2y = 40; tail3y = 0; fish1y = 40; eye1y = 70; //values for second fish tail4y = -80; tail5y = -40; tail6y = -80; fish2y = -40; eye2y = -10; //values for third fish tail7y = -120; tail8y = -80; tail9y = -120; fish3y = -80; eye3y = -50; } void draw() { if (display == true) { background (84, 252, 223); goldfish1(tail1y, tail2y, tail3y, fish1y, eye1y); goldfish2(tail4y, tail5y, tail6y, fish2y, eye2y); goldfish3(tail7y, tail8y, tail9y, fish3y, eye3y); movegoldfish(); drawRocks(); hungryBear(); lostCondition(); } else { background(0); } } //loop that draws the rocks void drawRocks() { int displacement = 0; for (int i = 0; i < rockAmount; i ++) { for (int k = 0; k < rockAmount; k ++) { drawRock( i + displacement); displacement += 30; } } } //THE BEAR void hungryBear() { rectMode(CORNERS); //bear head fill(67, 43, 7); stroke(0); rect(mouseX, 360, mouseX+100, 400); //bear ears fill(100, 80, 50); rect(mouseX +10, 380, mouseX+30, 390); rect(mouseX+ 70, 380, mouseX+90, 390); //bear snout fill(72, 54, 28); rect(mouseX+20, 320, mouseX+80, 360); //bear nose fill(0); ellipseMode(CORNERS); ellipse(mouseX+30, 305, mouseX+70, 325); } //the first fish! void goldfish1(float tail1y, float tail2y, float tail3y, float fish1y, float eye1y) { //tail of the fish stroke(0); fill(252, 139, 69); triangle(40, tail1y, 60, tail2y, 80, tail3y); //body of fish fill(250, 118, 35); rectMode(CORNERS); rect(40, fish1y, 80, fish1y+50); //fish eye fill(0); ellipseMode(CORNERS); ellipse(70, eye1y, 80, eye1y+10); } //the second fish void goldfish2(float tail4y, float tail5y, float tail6y, float fish2y, float eye2y) { //tail of the fish fill(252, 139, 69); triangle(175, tail4y, 195, tail5y, 215, tail6y); //body of fish fill(250, 118, 35); rectMode(CORNERS); rect(175, fish2y, 215, fish2y+50); //fish eye fill(0); ellipseMode(CORNERS); ellipse(205, eye2y, 215, eye2y+10); } //the third fish void goldfish3(float tail7y, float tail8y, float tail9y, float fish3y, float eye3y) { //tail of the fish fill(252, 139, 69); triangle(310, tail7y, 330, tail8y, 350, tail9y); //body of fish fill(250, 118, 35); rectMode(CORNERS); rect(310, fish3y, 350, fish3y+50); //fish eye fill(0); ellipseMode(CORNERS); ellipse(340, eye3y, 350, eye3y+10); } //moves the goldfish down the stream void movegoldfish() { tail1y += 1; tail2y += 1; tail3y += 1; tail4y += 1; tail5y += 1; tail6y += 1; tail7y += 1; tail8y += 1; tail9y += 1; fish1y += 1; fish2y += 1; fish3y += 1; eye1y += 1; eye2y += 1; eye3y += 1; } //draw rocks above the water where the bear is standing void drawRock(float x) { if (display == true) { ellipseMode(CENTER); fill(73, 77, 77); noStroke(); ellipse(x, height, 50, 50); ellipseMode(CORNERS); } } /*pressing the mouse when the fish is 'in the bear's mouth' will send fish back to original position*/ void mousePressed() { //if first fish is "eaten" if (fish1y > 300 && mouseX > 0 && mouseX < 60) { tail1y = 0; tail2y = 40; tail3y = 0; fish1y = 40; eye1y = 70; //if second fish is "eaten" } else if (fish2y > 300 && mouseX > 135 && mouseX < 195 ) { tail4y = -80; tail5y = -40; tail6y = -80; fish2y = -40; eye2y = -10; //if third fish is "eaten" } else if (fish3y > 300 && mouseX > 270 && mouseX <330) { tail7y = -120; tail8y = -80; tail9y = -120; fish3y = -80; eye3y = -50; } } //what happens when the player misses one of the fish void lostCondition() { //if player misses first fish if (tail1y > 400) { print("You Starved. Press r to play again\n"); display = false; } //if player misses second fish if (tail4y > 400) { //added \n at the end of text to start new paragraph print("You Starved. Press r to play again\n"); display = false; } //if player misses third fish if (tail7y > 400) { print("You Starved. Press r to play again\n"); display = false; } } //Activated to start the toy over again. void keyPressed() { if (display == false) { if (key== 'r'|| key =='R') { setup(); } } }