// Parte a.-
//==========

static int cuentaAmenazas(Pieza pieza, Pieza[] variasPiezas, int n){
	int n = 0;

	//obtener la posicion de la pieza
	int fil = pieza.fila();
	int col = pieza.columna();

	//recorrer todas las piezas
	for(int i=0; i<n; ++i){
		
		//invocar metodo que verifica amenaza
		if( variasPiezas[i].amenaza(fil,col) )
			++n;
	}
	return n;
}

// Parte b.-
//==========

//Torre

class Torre extends Pieza {

  //declarar constructor
  Torre(int fil, int col, String color) {

    //inicializar variables de instancia
    this.fil= fil;
    this.col= col;
    this.color= color;
  }

  //redefinir amenaza
  boolean amenaza(int f, int c) {

    //verificar amenaza
    return f==fil || c==col;
  }
}

//Caballo

class Caballo extends Pieza {

  //declarar constructor
  Caballo(int fil, int col, String color) {

    //inicializar variables de instancia
    this.fil= fil;
    this.col= col;
    this.color= color;
  }
  //redefinir amenaza
  boolean amenaza(int f, int c) {

    //verificar amenaza
    return Math.abs(f-fil)==2 && Math.abs(c-col)==1 ||
           Math.abs(f-fil)==1 && Math.abs(c-col)==2;
  }
}  
}
