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 }

Java/Programas/SaveTheEarth/EscuchaTeclas.java (last edited 2010-10-28 11:25:04 by Nicolas Arcila)