-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGoal.java
113 lines (108 loc) · 2.01 KB
/
Goal.java
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package airhockey;
import java.awt.Rectangle;
import java.io.Serializable;
/**
* Goal holds all the information of a goal object. It is also able to detect if a goal has been made.
* @author Markus
*
*/
public class Goal implements Serializable {
private int xpos;
private int ypos;
private int width;
private int height;
private int goalId;
private Rectangle rectangle;
private static final long serialVersionUID = 3L;
public Goal(int x, int y, int w, int h, int id) {
xpos = x;
ypos = y;
width = w;
height = h;
goalId = id;
rectangle = new Rectangle(xpos, ypos, width, height);
}
/**
* Detects a goal. For detection the method uses rectangles. Basically it detects if puck's and goal's
* rectangles intersect.
* @param puck
* @return true if a goal has been made
*/
public boolean detectGoal(Puck puck) {
if (puck.getSurroundingRectangle().intersects(rectangle)) {
return true;
}
return false;
}
/// Setters and getters///
/**
* Returns the xpos of the goal.
* @return
*/
public int getXpos() {
return xpos;
}
/**
* Sets the xpos of the goal.
* @param xpos
*/
public void setXpos(int xpos) {
this.xpos = xpos;
}
/**
* Returns the ypos of the goal.
* @return
*/
public int getYpos() {
return ypos;
}
/**
* Sets the ypos of the goal.
* @param ypos
*/
public void setYpos(int ypos) {
this.ypos = ypos;
}
/**
* Returns the width of the goal.
* @return
*/
public int getWidth() {
return width;
}
/**
* Sets the width of the goal.
* @param width
*/
public void setWidth(int width) {
this.width = width;
}
/**
* Returns the height of the goal.
* @return
*/
public int getHeight() {
return height;
}
/**
* Sets the height of the goal.
* @param height
*/
public void setHeight(int height) {
this.height = height;
}
/**
* Returns the goalID.
* @return
*/
public int getGoalId() {
return goalId;
}
/**
* Sets the goalID.
* @param goalId
*/
public void setGoalId(int goalId) {
this.goalId = goalId;
}
}