public void UpdatePacman(int generation)
        {
            var oneGenerationPacman = _sqLiteConnection.GetOneGenerationPacmans(generation);

            foreach (var pacman in oneGenerationPacman)
            {
                var pointsArr = IntHelper.GetPointsArr(pacman.PointsString);
                // pacman.MaxPoints= pointsArr.OrderByDescending(x => x).First();
                pacman.PositivePointsCount = pointsArr.Where(x => x > 0).Count();
                _sqLiteConnection.UpdatePacmansMaxPoints(pacman);
            }
        }
Example #2
0
        private Pacman[] GetLastGenerationPacmans()
        {
            var lastGeneration = _sqLiteConnection.GetLastGeneration();
            var last           = _sqLiteConnection.GetOneGenerationPacmans(lastGeneration).ToArray();

            return(last);
        }
Example #3
0
        public Report CalculateReport(int i)
        {
            var oneGenerationPacman = _sqLiteConnection.GetOneGenerationPacmans(i);

            var report = new Report
            {
                Generation             = i,
                MaxPoints              = 0,
                MaxCountPositivePoints = 0,
                MinAveragePoints       = oneGenerationPacman.OrderBy(x => x.AveragePoints).First().AveragePoints
            };
            var theFirst       = oneGenerationPacman.OrderByDescending(x => x.AveragePoints).First();
            var theFirstPoints = IntHelper.GetPointsArr(theFirst.PointsString);

            report.MaxAveragePoints           = theFirst.AveragePoints;
            report.MaxPointsOfFirst           = theFirstPoints.OrderByDescending(x => x).First();
            report.CountPositivePointsOfFirst = theFirstPoints.Count(x => x > 0);

            foreach (var pacman in oneGenerationPacman)
            {
                var pointsArr           = IntHelper.GetPointsArr(pacman.PointsString);
                var maxPoints           = pointsArr.OrderByDescending(x => x).First();
                var countPositivePoints = pointsArr.Count(x => x > 0);

                if (maxPoints > report.MaxPoints)
                {
                    report.MaxPoints = maxPoints;
                    report.MaxPointsAveragePoints = pacman.AveragePoints;
                }

                if (countPositivePoints > report.MaxCountPositivePoints)
                {
                    report.MaxCountPositivePoints = countPositivePoints;
                    report.MaxCountPositivePointsAveragePoints = pacman.AveragePoints;
                }
            }

            return(report);
        }