-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKeyInput.java
More file actions
127 lines (110 loc) · 3.06 KB
/
KeyInput.java
File metadata and controls
127 lines (110 loc) · 3.06 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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package SaueSpillet;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class KeyInput extends KeyAdapter {
private Handler handler;
private int xp, xm, yp, ym;
private long start, end;
private long start2, end2;
private boolean spacePress, shiftPress = false;
private double power;
public KeyInput(Handler handler) {
this.handler = handler;
}
public void tick() {
end = System.currentTimeMillis();
double pow = ((double) (end-start) /30);
if (spacePress && Hud.stoneCount >0) {
if (pow >=7.5) {
Hud.displayPower = 7.5;
} else {
Hud.displayPower = pow;
}
} else {
Hud.displayPower = 0;
}
}
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if (Game.gameState == Game.State.Pause) {
if (key == KeyEvent.VK_P)
Game.gameState = Game.State.Game;
} else if (Game.gameState == Game.State.Game) {
if (key == KeyEvent.VK_P)
Game.gameState = Game.State.Pause;
int v = 7;
for (int i = 0; i < handler.object.size(); i++) {
GameObject obj = handler.object.get(i);
if (obj.getId() == ID.Player) {
// Key events for player 1
if (key == KeyEvent.VK_W || key == KeyEvent.VK_UP)
ym = v;
if (key == KeyEvent.VK_D || key == KeyEvent.VK_RIGHT)
xp = v;
if (key == KeyEvent.VK_A || key == KeyEvent.VK_LEFT)
xm = v;
if (key == KeyEvent.VK_S || key == KeyEvent.VK_DOWN)
yp = v;
obj.setVelX(xp - xm);
obj.setVelY(yp - ym);
if (key == KeyEvent.VK_SHIFT) {
if (!shiftPress) {
end2 = System.currentTimeMillis();
if ((end2 - start2) / 1000 > 5) {
handler.object
.add(new ShitBomb(obj.getX(), obj.getY() + 30, ID.ShitBomb, handler, 150));
start2 = System.currentTimeMillis();
shiftPress = true;
}
}
}
if (key == KeyEvent.VK_SPACE) { // Shooting stones power
if (!spacePress) {
start = System.currentTimeMillis();
spacePress = true;
}
}
}
}
}
if (key == KeyEvent.VK_ESCAPE)
System.exit(1);
}
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
for (int i = 0; i < handler.object.size(); i++) {
GameObject obj = handler.object.get(i);
if (obj.getId() == ID.Player) {
// Key events for player 1
if (key == KeyEvent.VK_W || key == KeyEvent.VK_UP)
ym = 0;
if (key == KeyEvent.VK_D || key == KeyEvent.VK_RIGHT)
xp = 0;
if (key == KeyEvent.VK_A || key == KeyEvent.VK_LEFT)
xm = 0;
if (key == KeyEvent.VK_S || key == KeyEvent.VK_DOWN)
yp = 0;
obj.setVelX(xp - xm);
obj.setVelY(yp - ym);
if (key == KeyEvent.VK_SHIFT) {
shiftPress = false;
}
if (key == KeyEvent.VK_SPACE) {
if (spacePress) {
spacePress = false;
end = System.currentTimeMillis();
power = ((double) (end-start) /30);
if (power >= 7.5) {
power = 7.5;
}
if (Hud.stoneCount > 0) {
Hud.stoneCount--;
handler.object
.add(new Stone(obj.getX() + 50, obj.getY() + 50, ID.Stone, handler,(float) power, 0));
}
}
}
}
}
}
}