-
Notifications
You must be signed in to change notification settings - Fork 0
/
fish.pde
82 lines (69 loc) · 1.74 KB
/
fish.pde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import java.util.Random;
//fish object, swim around and get caught
public class fish {
int x;
int y;
boolean caught;
boolean inCooler;
boolean inFrame;
PImage body;
public fish() {
Random rand = new Random();
x = 1100;
y = rand.nextInt(660) + 250; //spawn at random height in the ocean
caught = false;
inFrame = true; //will need to update
inCooler = false;
body = loadImage("fish.png");
}
public void swim() {
x = x - 2;
}
public void show() {
image(body, x - 100, y - 30);
//subtracting from coordinates is only to account for the size of the image (not perfectly cropped).
}
public boolean swamAway() {
this.updateInFrame();
if (inFrame == false) {
return true;
}
return false;
}
public boolean getInFrame() {
return inFrame;
}
public void setInCooler(boolean value) {
inCooler = value;
}
public boolean inCooler() {
return inCooler;
}
void updateInFrame() {
if (x < -100) {
inFrame = false;
}
}
boolean isOnHook(fishingLine hook) {
int s = 30; //sensitivity
if ((hook.getX() < (x+s) && hook.getX() > (x-50) ) && (hook.getY() < (y+100) && hook.getY() > (y-s) ) && (!hook.isFishOnHook())) {
hook.setFishOnHook(true);
body = loadImage("uprightFish.png");
caught = true;
return caught;
} else if (caught == true) {
return caught;
}
return false;
}
void slippedOffHook(fishingLine hook) {
hook.setFishOnHook(false);
caught = false;
inFrame = false;
}
void showOnHook(fishingLine hook) {
x = hook.getX();
y = hook.getY();
image(body, x - 30, y);
}
}