/** * @param t * @param c * @return */ public boolean explotaHorizontal(Tablero t, Coordenada c) { List<Movimiento> izq1 = new ArrayList<Movimiento>(); izq1.add(new Izquierda()); List<Movimiento> izq2 = new ArrayList<Movimiento>(); izq2.add(new Izquierda()); izq2.add(new Izquierda()); List<Movimiento> der1 = new ArrayList<Movimiento>(); der1.add(new Derecha()); List<Movimiento> der2 = new ArrayList<Movimiento>(); der2.add(new Derecha()); der2.add(new Derecha()); Coordenada izq = c.coordenadaResultante(izq1); Coordenada izqIzq = c.coordenadaResultante(izq2); Coordenada der = c.coordenadaResultante(der1); Coordenada derDer = c.coordenadaResultante(der2); return this.explosionHacia(t, c, izq, izqIzq) || this.explosionHacia(t, c, der, derDer) || this.explosionHacia(t, c, izq, der); }
/** * @param t * @param c * @return devuelve si se genero una explosión en sentido vertical u horizontal dependiendo de los * parametros */ public boolean explotaVertical(Tablero t, Coordenada c) { List<Movimiento> arriba1 = new ArrayList<Movimiento>(); arriba1.add(new Arriba()); List<Movimiento> arriba2 = new ArrayList<Movimiento>(); arriba2.add(new Arriba()); arriba2.add(new Arriba()); List<Movimiento> abajo1 = new ArrayList<Movimiento>(); abajo1.add(new Abajo()); List<Movimiento> abajo2 = new ArrayList<Movimiento>(); abajo2.add(new Abajo()); abajo2.add(new Abajo()); Coordenada arr = c.coordenadaResultante(arriba1); Coordenada arrArr = c.coordenadaResultante(arriba2); Coordenada aba = c.coordenadaResultante(abajo1); Coordenada abaAba = c.coordenadaResultante(abajo2); return this.explosionHacia(t, c, arr, arrArr) || this.explosionHacia(t, c, aba, abaAba) || this.explosionHacia(t, c, arr, aba); }