Repository navigation
Expand file tree
/
Copy pathFriendlyBullet.java
More file actions
89 lines (74 loc) · 2.47 KB
/
Copy pathFriendlyBullet.java
File metadata and controls
89 lines (74 loc) · 2.47 KB
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
package game;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Rectangle;
public class FriendlyBullet extends GameObject{
private Handler handler;
private double velX, velY;
public FriendlyBullet(ID id, double x, double y, double velX, double velY, Handler handler){
super(id, x, y);
this.handler = handler;
if(velX == 0 && velY == 0) {
this.velX = velX;
this.velY = -9;
} else if (velX == 0){
this.velX = velX;
this.velY = velY < 0 ? -9 : 9;
} else {
this.velX = velX < 0 ? -9 : 9;
this.velY = velY;
}
}
// public void accountForCollision(GameObject obj){
// for(int i = 0; i < handler.object.size(); i++){
// }
// }
public void tick(){
x += velX;
y += velY;
for (int i = 0; i < handler.object.size(); i++) {
GameObject obj = handler.object.get(i);
checkForCollision(obj, i);
}
if(y >= Window.frame.getHeight() || y <= 0 ){
handler.removeObject(this);
}else if( x >= Window.frame.getWidth() || x <= 0 ){
handler.removeObject(this);
}
}
public void render(Graphics g){
g.setColor(Color.blue);
g.drawOval((int) getX(), (int) getY(), 2, 2);
}
public Rectangle getBounds() {
return new Rectangle( (int) getX(), (int) getY(), 2, 2);
}
public void setHealth(int damage){
}
private void checkForCollision(GameObject obj, int i) {
if (this.getBounds().intersects(obj.getBounds())) {
if (obj.getId() == ID.LightEnemy) {
handler.removeObject(obj);
handler.removeObject(this);
HUD.score += 2;
}else if (obj.getId() == ID.TankEnemy) {
// deplete enemy hp
obj.setHealth(4);
handler.removeObject(this);
}else if (obj.getId() == ID.BossEnemyArm) {
// deplete enemy hp
obj.setHealth(4);
handler.removeObject(this);
HUD.score += 2;
} else if (obj.getId() == ID.BossEnemy) {
// deplete enemy hp
obj.setHealth(4);
handler.removeObject(this);
}
else if (obj.getId() == ID.BossEnemyBullet){
handler.removeObject(obj);
handler.removeObject(this);
}
}
}
}