-
Notifications
You must be signed in to change notification settings - Fork 0
/
Bomb.java
89 lines (72 loc) · 2.13 KB
/
Bomb.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
import java.awt.Graphics2D;
import java.awt.Color;
import java.awt.Dimension;
public class Bomb{
private static final int STANDARD_EXPLOSION_SIZE = 64;
private int x;
private int y;
private int width;
private int height;
private long startTime;
private long explodeTime = 3000;
private int explosionAmp;
private boolean explode = false;
public Bomb(Dimension size){
this.width = (int)size.getWidth();
this.height = (int)size.getHeight();
this.explosionAmp = 1;
this.startTime = System.currentTimeMillis();
}
public Bomb(Dimension size, int power){
this(size);
this.explosionAmp = power + 1;
}
/*//Om bombens sprängning ändrats
public Bomb(int x, int y, int expAmp){
this(x,y, tmp);
this.explosionAmp = expAmp;
}*/
//Getters
public int getX() {
return this.x;
}
public int getY() {
return this.y;
}
public int getWidth() {
return this.width;
}
public int getHeight() {
return this.height;
}
public int getExplosionAmp() {
return this.explosionAmp;
}
//Setters
public void setPos(int x, int y){
this.x = x;
this.y = y;
}
public boolean willExplode(long currTime){
if((currTime - this.startTime) >= this.explodeTime){
return true;
}
return false;
}
public Explosion explode(){
this.explode = true;
return new Explosion(this.x, this.y, this.width, this.height, STANDARD_EXPLOSION_SIZE * this.explosionAmp);
}
public void paint(Graphics2D g){
g.setColor(Color.green);
g.fillOval(this.x, this.y, this.width, this.height);
/*if(this.explode){
int explotionSize = STANDARD_EXPLOSION_SIZE * this.explosionAmp;
g.setColor(Color.red);
g.fillRect(this.x, this.y, this.width, explotionSize);
g.fillRect(this.x, this.y - explotionSize, this.width, explotionSize);
g.fillRect(this.x, this.y, explotionSize, this.height);
g.fillRect(this.x - explotionSize, this.y, explotionSize, this.height);
}*/
}
}