Ejemplo n.º 1
0
        public int MutationInterestFactor(List <Slide> slides, int firstIndex, int secondIndex, int mode)
        {
            int interestFactor = 0;
            int slidesCount    = Slides.Count() - 1;

            int difference = Math.Abs(firstIndex - secondIndex);

            if (mode == 1 && difference != 1)
            {
                interestFactor += CalculateInterestFactorForOneSlide(slides, firstIndex);
                interestFactor += CalculateInterestFactorForOneSlide(slides, secondIndex);
            }
            else
            {
                int start = firstIndex > secondIndex ? (secondIndex > 0 ? secondIndex - 1 : secondIndex) : (firstIndex > 0 ? firstIndex - 1 : firstIndex);
                int end   = secondIndex < firstIndex ? (secondIndex > 0 ? firstIndex + 1 : secondIndex) : (secondIndex < slidesCount ? secondIndex + 1 : secondIndex);
                interestFactor = CalculateSlidesBetweenTwoPoints(slides, start, end);
            }

            return(interestFactor);
        }