-
Notifications
You must be signed in to change notification settings - Fork 0
/
Bullet.java
49 lines (33 loc) · 1006 Bytes
/
Bullet.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
package server.entites;
import org.newdawn.slick.geom.Vector2f;
public class Bullet extends Entity{
public int test_id = 0; // TESTING ID
private final int HEIGHT = 10,
WIDTH = 2;
private float maxTravelTime = 250;
private float travelTime;
private float speed = 0.45f; /* dont forget to change on client //ya ya duplicate code blah blah// */
public Bullet(float x, float y, float xv, float yv, float r, int id){
super(new Vector2f(x,y));
velocity.x = xv;
velocity.y = yv;
rotation = r;
super.id = id;
super.height = HEIGHT;
super.width = WIDTH;
velocity = new Vector2f(-(speed * (float) Math.sin(Math.toRadians(rotation+180))) + xv,
-(speed * (float) Math.cos(Math.toRadians(rotation+180))) + yv);
}
public void update(){
super.update();
travelTime++;
}
public int getId(){ return id; }
public boolean hasExpired(){
return travelTime >= maxTravelTime;
}
@Override
public void collide(Entity e) {
travelTime = maxTravelTime;
}
}