Пример #1
0
 /**
  * Busca explosiones en todo el tablero y si encuentra una propaga la explosi�n, baja los
  * caramelos y hace una llamada recursiva
  */
 public Tablero explosionesEnCadena(Tablero t) {
   for (int x1 = 0; x1 < t.getAlto(); x1++) {
     for (int y1 = 0; y1 < t.getAncho(); y1++) {
       Coordenada c = new Coordenada(x1, y1);
       if (this.generoExplosion(t, c)) {
         t.llenarHuecos();
         t = this.explosionesEnCadena(t);
       }
     }
   }
   return t;
 }
  public void setUp() {
    explosion = new Explosion(5, "Rojo");

    cor = new Coordenada(2, 1);
    cor3 = new Coordenada(1, 0);

    car1 = mock(Caramelo.class);
    car2 = mock(Caramelo.class);
    car3 = mock(Caramelo.class);

    caramelos[0][0] = car2;
    caramelos[0][1] = car1;
    caramelos[0][2] = car2;
    caramelos[1][0] = car2;
    caramelos[1][1] = car1;
    caramelos[1][2] = car2;
    caramelos[2][0] = car1;
    caramelos[2][1] = car1;
    caramelos[2][2] = car1;
    caramelos[0][3] = car2;
    caramelos[1][3] = car3;
    caramelos[2][3] = car3;
    caramelos[0][4] = car3;
    caramelos[1][4] = car3;
    caramelos[2][4] = car3;

    vecino1.add(arriba);
    vecino2.add(arriba);
    vecino2.add(arriba);

    nivel = mock(Nivel.class);

    t = new Tablero();
    t.setAlto(3);
    t.setAncho(5);
    t.setCaramelos(caramelos);
    t.setNivel(nivel);

    when(nivel.getObjetivos()).thenReturn(objetivos);
    when(car1.getColor()).thenReturn("Verde");
    when(car2.getColor()).thenReturn("Rojo");
    when(car3.getColor()).thenReturn("vacio");
  }
Пример #3
0
 /**
  * @param t
  * @param c
  * @param vecino1
  * @param vecino2
  * @return true si el color del caramelo en c es el mismo que el de sus vecinos
  */
 public boolean explosionHacia(Tablero t, Coordenada c, Coordenada vecino1, Coordenada vecino2) {
   String colorOriginal = t.colorCarameloEn(c);
   String colorVecino1 = t.colorCarameloEn(vecino1);
   String colorVecino2 = t.colorCarameloEn(vecino2);
   return (colorOriginal.equals(colorVecino1)) && (colorOriginal.equals(colorVecino2));
 }