EscuchaTeclasII.java
Categorías: CategoryJava | CategoryProgramacion |
1 package savetheearthsk;
2
3 import java.awt.event.KeyEvent;
4 import java.awt.event.KeyListener;
5 import java.io.IOException;
6 import java.io.PrintStream;
7 import java.net.Socket;
8 import java.net.UnknownHostException;
9 import java.util.ArrayList;
10 import java.util.logging.Level;
11 import java.util.logging.Logger;
12
13 /**
14 * @author Lina Maria Angelica Bermudez
15 * @author Mario Nicolas Arcila Escobar
16 */
17 /**
18 * reconocer los movimientos y poder interactuar mejor con el juego
19 */
20 public class EscuchateclasII implements KeyListener {
21
22 /**
23 * llamar a todas las clases necesarias y definir variables
24 */
25 public static final int puerto = 9999;
26 private boolean caminarb = true;
27 private Cañi cañi;
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 Configuraciones configuraciones = new Configuraciones();
37 private ArrayList<Calaveragg1> calaveras;
38 Socket socket;
39 private PrintStream salida;
40
41 /**
42 * /**
43 * @param cañi es el objeto grafico que se le asigna el movimiento
44 * @param l es el objeto grafico en el que se muestran las clases
45 * @param pared es el objeto grafico que no se le asigna movimiento
46 * @param paredes1 es el objeto grafico que no se le asigna movimiento
47 * @param paredes2 es el objeto grafico que no se le asigna movimiento
48 * @param paredes3 es el objeto grafico que no se le asigna movimiento
49 * @param calaveras es el arreglo para ubicar las calaveras
50 * @param puntaje es el que acomula y muestra el puntaje que lleva el usuario
51 * el cual no se le asigna movimiento
52 * @param calaveragg1 es el objeto grafico en el que se le asigna el movimientos
53 */
54 public EscuchateclasII(Cañi cañi, Lienzo l, Pared[] pared, Pared[] paredes1, Pared[] paredes2, Pared[] paredes3, Calaveragg1 calaveragg1, ArrayList<Calaveragg1> calaveras, Puntaje puntaje) {
55
56 this.cañi = cañi;
57 lienzo = l;
58 this.puntaje = puntaje;
59 this.pared = pared;
60 this.paredes1 = paredes1;
61 this.paredes2 = paredes2;
62 this.paredes3 = paredes3;
63 this.calaveragg1 = calaveragg1;
64 this.calaveras = calaveras;
65
66 Configuraciones configuraciones = new Configuraciones();
67 try {
68 socket = new Socket(configuraciones.ip, puerto);
69 } catch (UnknownHostException ex) {
70 System.err.println("Error al abrir el socker cliente");
71 Logger.getLogger(EscuchateclasII.class.getName()).log(Level.SEVERE, null, ex);
72 } catch (IOException ex) {
73 System.err.println("Error IO al abrir el socker cliente");
74 Logger.getLogger(EscuchateclasII.class.getName()).log(Level.SEVERE, null, ex);
75 }
76 try {
77 salida = new PrintStream(socket.getOutputStream());
78 } catch (IOException ex) {
79 System.err.println("Error al abrir salida");
80 Logger.getLogger(EscuchateclasII.class.getName()).log(Level.SEVERE, null, ex);
81 }
82 }
83
84 public void keyTyped(KeyEvent e) {
85 }
86
87 /** funciona para volver entero el codigo ingresado
88 * es el metodo para recivir las teclas de cada objeto
89 */
90 public void keyPressed(KeyEvent e) {
91
92 int tecla = e.getKeyCode();
93 switch (tecla) {
94 case KeyEvent.VK_RIGHT:
95 cañi.incX(10);
96 salida.println(cañi.getX());
97 salida.println(cañi.getY());
98 if (calaveragg1 == null) {
99 } else {
100 if (caminarb == false) {
101 calaveragg1.incX(10);
102
103 }
104
105 }
106
107 lienzo.repaint();
108 System.err.println("cañiEntrante.x" + cañi.getX() + " " + "cañiEntrante.y" + cañi.getY());
109 break;
110 case KeyEvent.VK_LEFT:
111 cañi.decX(10);
112 salida.println(cañi.getX());
113 salida.println(cañi.getY());
114 if (caminarb == false) {
115 calaveragg1.decX(10);
116
117 } else {
118 if (caminarb == false) {
119 calaveragg1.incX(10);
120
121 }
122 }
123 lienzo.repaint();
124 System.err.println("cañiEntrante.x" + cañi.getX() + " " + "cañiEntrante.y" + cañi.getY());
125 break;
126
127
128
129
130
131
132
133 case KeyEvent.VK_UP:
134
135 calaveragg1 = new Calaveragg1(cañi.x + 5, cañi.y - 77, 85, 85, configuraciones.colores[(int) (Math.random() * 3)], paredes, lienzo, calaveras, puntaje);
136 calaveras.add(calaveragg1);
137 lienzo.add(calaveragg1);
138
139 lienzo.repaint();
140
141
142
143 break;
144
145 case ' ':
146
147 Thread hiloCalaveragg1 = new Thread(calaveragg1);
148 if (calaveragg1 == null) {
149 } else {
150 hiloCalaveragg1.start();
151
152 }
153 lienzo.repaint();
154 caminarb = false;
155 break;
156
157
158 }
159
160
161 }
162
163 public void keyReleased(KeyEvent e) {
164 }
165 }
