예제 #1
0
        public AdversarialAi(FindAllPossibleMoves MoveFinder, GetFitnessForState Evaluator, int depth, object[] EvalParams, Prioritizer queuePrioritizer, OnMoveReady callback)
        {
#if logging
            FullLog = new List <List <string> >(depth + 1);
            for (var ii = 0; ii < depth + 1; ++ii)
            {
                FullLog.Add(new List <string>());
            }
#endif
            moveFinder  = MoveFinder;
            eval        = Evaluator;
            maxDepth    = depth;
            mEvalParams = EvalParams;
            mCallback   = callback;
            mTerminate  = false;
            prioritize  = queuePrioritizer;
        }
예제 #2
0
 public PrioritizerSteps(Prioritizer prioritizer)
 {
     _prioritizer              = prioritizer;
     _prioritizedTimeseries    = new HashSet <Guid>();
     _nonPrioritizedTimeseries = new HashSet <Guid>();
 }
예제 #3
0
 public AdversarialAi(FindAllPossibleMoves MoveFinder, GetFitnessForState Evaluator, int depth, object[] EvalParams, Prioritizer queuePrioritizer)
     : this(MoveFinder, Evaluator, depth, EvalParams, queuePrioritizer, null)
 {
 }