EscuchaTeclas.java
Categorías: CategoryJava | CategoryProgramacion |
1 /**
2 *@author Elkin Andrey Garzón Alarcón...Geek Master
3 *@author Ingrid Lorena Guerrero Mayorga...
4 *@author Jefferson Fabian Idarraga Idarraga Pinilla...
5 */
6 package pinguinogg;
7
8 import java.awt.event.KeyEvent;
9 import java.awt.event.KeyListener;
10 import pinguinogg.PuntajeVidas;
11
12 public class Escuchateclas implements KeyListener {
13
14 /**
15 *Se declara la herencias de clases...
16 */
17 private Cañon cañon;
18 private Lienzo lienzo;
19 private Bloque[] ladrillo;
20 private Cabeza[][] cabeza;
21 private PuntajeVidas puntaje;
22
23 /**
24 Se crea una instancia para asignar que la clase hace parte de Escuchateclas*/
25 public Escuchateclas(Cañon cañon, Lienzo lienzo, Bloque[] ladrillo, Cabeza[][] cabeza, PuntajeVidas puntaje) {
26 this.cañon = cañon;
27 this.ladrillo = ladrillo;
28 this.lienzo = lienzo;
29 this.cabeza = cabeza;
30 this.puntaje = puntaje;
31 }
32
33 public void keyTyped(KeyEvent e) {
34 }
35
36 /**
37 * Se hace el evento a la hora de oprimir teclas
38 * @param e
39 */
40 public void keyPressed(KeyEvent e) {
41 int tecla = e.getKeyCode();
42 switch (tecla) {
43 case KeyEvent.VK_RIGHT:
44 cañon.incX(10);
45 /**
46 *esta es la colicion de el caños con el ladrillo...
47 */
48 for (int i = 0; i < ladrillo.length; i++) {
49 if (cañon.colisiona(ladrillo[i])) {
50 cañon.decX(10);
51 }
52 }
53 /**
54 * hace que reaparesca durante la colicion
55 */
56 lienzo.repaint();
57 break;
58 case KeyEvent.VK_LEFT:
59 cañon.decX(10);
60 for (int i = 0; i < ladrillo.length; i++) {
61 if (cañon.colisiona(ladrillo[i])) {
62 cañon.incX(10);
63 }
64 }
65 lienzo.repaint();
66 break;
67 case ' ':
68 /**
69 * La ubicacio del cañon en el lienzo ubicando la bala
70 * en su medida proporcional al cañon....
71 */
72 Bala bala = new Bala(cañon.x + 28, cañon.y - 25, 40, 60, lienzo, cabeza, puntaje);
73 lienzo.add(bala);
74 Thread hiloBala = new Thread(bala);
75 hiloBala.start();
76 }
77
78
79 }
80
81 public void keyReleased(KeyEvent e) {
82 }
83 }
