EscuchaTeclas.java
Categorías: CategoryJava | CategoryProgramacion |
1 /*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5 package savetheearthsk;
6
7 import java.awt.event.KeyEvent;
8 import java.awt.event.KeyListener;
9 import java.util.ArrayList;
10 import java.util.logging.Level;
11 import java.util.logging.Logger;
12
13 /**
14 *
15 * @author Lina Maria Angelica Bermudez
16 * @author Mario Nicolas Arcila Escobar
17 */
18 /**
19 * CLase que reconoce los movimientos y poder interactuar mejor con el juego
20 */
21 public class EscuchaTeclas implements KeyListener {
22
23 /**
24 * llamar a todas las clases necesarias y definir variables
25 */
26 private boolean caminarb = false;
27 private Cañon cañon;
28 private Lienzo lienzo;
29 private static Pared[] paredes;
30 private Pared[] pared;
31 private Puntaje puntaje;
32 private Pared[] paredes1;
33 private Pared[] paredes2;
34 private Pared[] paredes3;
35 private Calaveragg1 calaveragg1;
36 private ArrayList<Calaveragg1> calaveras;
37 private Configuraciones configuraciones;
38
39 /**
40 * @param cañon es el objeto grafico que se le asigna el movimiento
41 * @param l es el objeto grafico en el que se muestran las clases
42 * @param pared es el objeto grafico que no se le asigna movimiento
43 * @param paredes1 es el objeto grafico que no se le asigna movimiento
44 * @param paredes2 es el objeto grafico que no se le asigna movimiento
45 * @param paredes3 es el objeto grafico que no se le asigna movimiento
46 * @param calaveras es el arreglo para ubicar las calaberas
47 * @param puntaje es el que acomula y muestra el puntaje que lleva el usuario
48 * el cual no se le asigna movimiento
49 */
50 public EscuchaTeclas(Cañon cañon, Lienzo l, Pared[] pared, Pared[] paredes1, Pared[] paredes2, Pared[] paredes3, ArrayList<Calaveragg1> calaveras, Puntaje puntaje, Configuraciones configuraciones) {
51 this.cañon = cañon;
52 lienzo = l;
53 this.puntaje = puntaje;
54 this.pared = pared;
55 this.paredes1 = paredes1;
56 this.paredes2 = paredes2;
57 this.paredes3 = paredes3;
58 this.calaveras = calaveras;
59 this.configuraciones = configuraciones;
60
61 }
62
63 public void keyTyped(KeyEvent e) {
64 }
65
66 /** funciona para volver entero el codigo ingresado
67 * es el metodo para recivir las teclas de cada objeto
68 */
69 public void keyPressed(KeyEvent e) {
70
71
72
73
74 int tecla = e.getKeyCode();
75 switch (tecla) {
76
77 case KeyEvent.VK_RIGHT:
78
79 System.err.println("vk right");
80
81
82
83 try {
84 cañon.incX(10);
85 //calaveragg1.incX(10);
86 if (calaveragg1 == null) {
87 } else {
88 if (caminarb == false) {
89 calaveragg1.incX(10);
90
91 }
92
93 }
94
95
96
97 for (int i = 0; i < paredes3.length; i++) {
98 if (cañon.colisiona(paredes3[i])) {
99 cañon.decX(10);
100
101 }
102
103 }
104 lienzo.repaint();
105
106
107
108 } catch (NullPointerException nex) {
109
110 Logger.getLogger(EscuchaTeclas.class.getName()).log(Level.SEVERE, null, nex);
111 }
112
113
114
115 break;
116
117
118
119
120 case KeyEvent.VK_LEFT:
121
122
123 System.err.println("vk left");
124
125
126 try {
127 cañon.decX(10);
128 //calaveragg1.decX(10);
129 if (caminarb == false) {
130 calaveragg1.decX(10);
131 } else {
132 if (caminarb == false) {
133 // calaveragg1.incX(10);
134 }
135 }
136 for (int i = 0; i < paredes2.length; i++) {
137 if (cañon.colisiona(paredes2[i])) {
138 cañon.incX(10);
139
140 }
141
142 }
143
144 lienzo.repaint();
145
146 } catch (NullPointerException nex) {
147 Logger.getLogger(EscuchaTeclas.class.getName()).log(Level.SEVERE, null, nex);
148
149 }
150
151
152
153 break;
154
155 case KeyEvent.VK_DOWN:
156
157
158
159
160 System.err.println("vk down");
161 try {
162 if (calaveragg1 == null) {
163 } else {
164 cañon.incY(10);
165
166 for (int i = 0; i < paredes1.length; i++) {
167 if (cañon.colisiona(paredes1[i])) {
168 cañon.decY(10);
169 }
170 }
171
172 lienzo.repaint();
173
174 }
175
176
177 break;
178
179 } catch (NullPointerException nex) {
180 Logger.getLogger(EscuchaTeclas.class.getName()).log(Level.SEVERE, null, nex);
181
182 }
183
184
185
186
187
188 case KeyEvent.VK_UP:
189
190 System.err.println("vk up");
191
192
193 try {
194 if (calaveragg1 == null) {
195 calaveragg1 = new Calaveragg1(cañon.x + 5, cañon.y - 77, 85, 85, configuraciones.colores[(int) (Math.random() * 3)], paredes, lienzo, calaveras, puntaje);
196 calaveras.add(calaveragg1);
197 lienzo.add(calaveragg1);
198 lienzo.repaint();
199 } else {
200 calaveragg1 = new Calaveragg1(cañon.x + 5, cañon.y - 77, 85, 85, configuraciones.colores[(int) (Math.random() * 3)], paredes, lienzo, calaveras, puntaje);
201 calaveras.add(calaveragg1);
202 lienzo.add(calaveragg1);
203 lienzo.repaint();
204
205 }
206
207 } catch (NullPointerException Nex) {
208 }
209
210
211 break;
212
213 case ' ':
214
215 System.err.println("espaciadora");
216
217 Thread hiloCalaveragg1 = new Thread(calaveragg1);
218 if (calaveragg1 == null) {
219 } else {
220 hiloCalaveragg1.start();
221
222 }
223 lienzo.repaint();
224 caminarb = false;
225
226 break;
227 }
228
229
230
231 }
232
233 public void keyReleased(KeyEvent e) {
234 }
235 }
