Repository navigation
Expand file tree
/
Copy pathSerialInput.java
More file actions
75 lines (67 loc) · 2.28 KB
/
Copy pathSerialInput.java
File metadata and controls
75 lines (67 loc) · 2.28 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
package game;
import java.awt.Graphics;
import java.io.InputStream;
import java.awt.Color;
import com.fazecast.jSerialComm.*;
import java.io.IOException;
public class SerialInput {
private Handler handler;
private SerialPort comPort;
// private boolean[] keyDown = new boolean[4];
private InputStream input;
private Graphics g;
SerialInput(Handler handler, Graphics g) {
this.g = g;
this.handler = handler;
comPort = SerialPort.getCommPorts()[1];
comPort.openPort();
// comPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 0, 0);
input = comPort.getInputStream();
// waitForCalibration();
}
// public void waitForCalibration() {
// try {
// while ((char)input.read() != 'E') {
// }
// }
// catch (IOException e) {
// }
// g.setColor(Color.white);
// g.drawString("CALIBRATION DONE", 200, 200);
// }
public void tick() {
try {
for (int i = 0; i < handler.object.size(); i++) {
GameObject tempObject = handler.object.get(i);
if (tempObject.getId() == ID.Player) {
if ((char)input.read() == 'L') {
tempObject.setVelX(-5);
tempObject.setVelY(0);
// keyDown[2] = true;
}
else if ((char)input.read() == 'R') {
tempObject.setVelX(5);
tempObject.setVelY(0);
// keyDown[3] = true;
}
else if ((char)input.read() == 'F') {
tempObject.setVelX(0);
tempObject.setVelY(-5);
// keyDown[0] = true;
}
else if ((char)input.read() == 'B') {
tempObject.setVelX(0);
tempObject.setVelY(5);
// keyDown[1] = true;
}
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
comPort.closePort();
}
}