-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathController.java
More file actions
107 lines (86 loc) · 2.34 KB
/
Controller.java
File metadata and controls
107 lines (86 loc) · 2.34 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
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.Action;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
import javax.swing.AbstractAction;
import javax.swing.JButton;
public class Controller implements ActionListener, KeyListener {
private Model model;
private View view;
JButton moveButton = new JButton("stop");
boolean moving = true;
boolean pressedJump = false;
final int drawDelay = 30; // ms
Action drawAction;
public Controller() {
view = new View(moveButton);
model = new Model(view.getWidth(), view.getHeight(), view.getImageWidth(), view.getImageHeight());
drawAction = new AbstractAction(){
public void actionPerformed(ActionEvent e){
view.repaint();
if (moving) {
// increment the x and y coordinates, alter direction
model.updateLocationAndDirection();
// update the view
}
view.update(model.getX(), model.getY(), model.getDirect(), moving);
}
};
moveButton.addActionListener(this);
view.frame.setFocusable(true);
view.frame.addKeyListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if (moving) {
moving = false;
view.stopFrame(1);
} else {
moving = true;
view.stopFrame(10);
}
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
char c = e.getKeyChar();
int keyPress = e.getKeyCode();
if(keyPress == KeyEvent.VK_UP){
model.setUP();
}
else if(keyPress == KeyEvent.VK_DOWN){
model.setDOWN();
}
else if(keyPress == KeyEvent.VK_LEFT){
model.setLEFT();
}
else if(keyPress == KeyEvent.VK_RIGHT){
model.setRIGHT();
}
else if (c == 'j') {
view.stopFrame(8);
pressedJump = !pressedJump;
view.isJumping(pressedJump);
view.changePicArray();
System.out.println("Jump!");
} else if (c == 'f') {
view.stopFrame(8);
pressedJump = !pressedJump;
view.isJumping(pressedJump);
view.changePicArray();
System.out.println("Fire!");
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}