public EvaluadorMano(ArrayList<Carta> pMano) {
        cartas = pMano;
        
        // Buscando patrones
        calcularDistribuciones();
        buscarEscala();
        buscarColor();
        buscarDuplicados();
        
        // Buscando Valores Especiales
        boolean esValorEspecial =
                (esEscalaColor() ||
                 esPoker()       ||
                 esFullHouse()   ||
                 esColor()       ||
                 esEscalera()    ||
                 esTrio()        ||
                 esDoblePar()    ||
                 esPar());
        
        if (!esValorEspecial) {
            calcularCartaMasAlta();
        }
        
        //Para obtener el tipo (Nombre) de jugada que es: getTipo().getDescription()
        
        // Calcular valor de la jugada
        //El numero que queda en valor es para saber el costo de la mano del jugador
        //para que este valor se pueda comparar con las demás manos e identificar
        //cual es la más alta.
        
        for (int i = 0; i < NUM_CALIFICACION; i++) {
            valor += calificaciones[i] * FACTORES_CALIFICACION[i];
        }
        
    }