-
Notifications
You must be signed in to change notification settings - Fork 1
/
PowerUp.java
97 lines (72 loc) · 1.39 KB
/
PowerUp.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
package FirstGame;
import java.awt.Color;
public class PowerUp {
private double x;
private double y;
private int r;
private int type;
private int speed;
private Color powerUpColor;
private Enemy e;
/**
* 1--> +1 Life
* 2--> +1 Power
* 3--> +2 Power
* 4--> Laser
* 5--> SlowMotion
*/
public PowerUp(Enemy e, int type){
this.x = e.getx();
this.y = e.gety();
this.type = type;
this.e = e;
speed = 2;
switch(type){
case 1:{
powerUpColor = Color.WHITE;
r = 5;
}
break;
case 2:{
powerUpColor = Color.PINK;
r = 5;
}
break;
case 3:{
powerUpColor = Color.GREEN;
r = 3;
}
break;
case 4:{
powerUpColor = Color.YELLOW;
r = 3;
speed = 4;
}
break;
case 5:{
powerUpColor = Color.white;
r = 6;
speed = 1;
}
break;
default: System.exit(0);
}
}
//Getter Methods
public double getx(){return x;}
public double gety(){return y;}
public int getr(){return r;}
public int getType(){return type;}
public boolean update(){
if(e.isSlow())
y += speed*0.3;
else
y += speed;
if(y > GamePanel.HEIGHT - r) return true;
return false;
}
public void draw(java.awt.Graphics2D g){
g.setColor(powerUpColor);
g.fillRect((int) x+e.getr() , (int) y+e.getr(), 2*r, 2*r);
}
}