Esempio n. 1
0
        public IEnumerable <IWorkerWrapperAction> FindSequence(Mine mine)
        {
            var bestScore = int.MaxValue;
            var bestMoves = (List <IWorkerWrapperAction>)null;

            foreach (var optimizer in _optimizers)
            {
                var moves = optimizer.FindSequence(mine.Clone()).ToList();
                if (moves.Count < bestScore)
                {
                    bestScore = moves.Count;
                    bestMoves = moves;
                }
            }

            return(bestMoves);
        }