Exemplo n.º 1
0
        //private void PostRunFeedbackToChamps()
        //{
        //    //most simple variant:
        //    foreach (var item in PreSolutions)
        //    {
        //        foreach (var champ in item.RunItemPath)
        //        {
        //            champ.Gold++;
        //        }
        //    }
        //}

        private void finishIteration()
        {
            var preSolutions = CheckPoints.SelectMany(ng => ng.Positions).ToList();

            LastGeneration = CheckPoints.SelectMany(ng => ng.Positions).ToList();

            //execute mandatory actions:
            PreSolutions.Clear();
            foreach (var pre in preSolutions)
            {
                PreSolutions.AddRange(MandatoryActionExecuter.ExecuteMandatoryActions(pre.Position).Select(pos => new PreSolution <PositionData, ActionData, CheckPointType>(pos, pre.RunItemPath)));
            }
        }
Exemplo n.º 2
0
        private void Prepare()
        {
            random = new Random(2016);
            ComputationInfo.Progress = 0;
            BestResult = null;
            RunnerPool.Clear();
            CheckPoints.Clear();
            CategoryEvaluationLogic.Reset();
            LastGeneration = new List <PreSolution <PositionData, ActionData, CheckPointType> >();
            PreSolutions   = new List <PreSolution <PositionData, ActionData, CheckPointType> >();
            var startPos = MandatoryActionExecuter.ExecuteMandatoryActions(new GWPosition <PositionData, ActionData>(Input.CreateStartPosition(), 0, null));

            PreSolutions.AddRange(startPos.Select(pos => new PreSolution <PositionData, ActionData, CheckPointType>(pos)));
            ProgressEstimator.Init(PreSolutions.First().Position.Data);
        }