Exemple #1
0
 /// <summary>
 /// Constructs a new instance of SabberStoneGameLogic.
 /// </summary>
 /// <param name="goal">The goal strategy.</param>
 /// <param name="hierarchicalExpansion">[Optional] Whether or not expansion should be handled hierarchically. Default value is true.</param>
 /// <param name="dimensionalOrdering">[Optional] The type of Dimensional Ordering to use in the case of Hierarchical Expansion. Default value is <see cref="DimensionalOrderingType.None"/>.</param>
 /// <param name="searcher">[Optional] A searcher that can provide individual task statistics when using one of the Entropy orderings. Default value is null.</param>
 public SabberStoneGameLogic(IGoalStrategy <List <SabberStoneAction>, SabberStoneState, SabberStoneAction, object, SabberStoneAction> goal, bool hierarchicalExpansion = true, DimensionalOrderingType dimensionalOrdering = DimensionalOrderingType.None, SabberStoneSearch searcher = null)
 {
     Goal = goal;
     HierarchicalExpansion = hierarchicalExpansion;
     DimensionalOrdering   = dimensionalOrdering;
     Searcher = searcher;
 }
 /// <summary>
 /// Constructs a new SearchContext.
 /// </summary>
 /// <param name="domain"><see cref="SearchContext{D, P, A, S, Sol, N}.Domain"/></param>
 /// <param name="source"><see cref="SearchContext{D, P, A, S, Sol, N}.Source"/></param>
 /// <param name="target"><see cref="SearchContext{D, P, A, S, Sol, N}.Target"/></param>
 /// <param name="subject"><see cref="SearchContext{D, P, A, S, Sol, N}.Subject"/></param>
 /// <param name="solution"><see cref="SearchContext{D, P, A, S, Sol, N}.Solution"/></param>
 /// <param name="status"><see cref="SearchContext{D, P, A, S, Sol, N}.Status"/></param>
 /// <param name="startNode"><see cref="SearchContext{D, P, A, S, Sol, N}.StartNode"/></param>
 /// <param name="search"><see cref="SearchContext{D, P, A, S, Sol, N}.Search"/></param>
 /// <param name="expansion"><see cref="SearchContext{D, P, A, S, Sol, N}.Expansion"/></param>
 /// <param name="application"><see cref="SearchContext{D, P, A, S, Sol, N}.Application"/></param>
 /// <param name="evaluation"><see cref="SearchContext{D, P, A, S, Sol, N}.Evaluation"/></param>
 /// <param name="goal"><see cref="SearchContext{D, P, A, S, Sol, N}.Goal"/></param>
 /// <param name="cloner"><see cref="SearchContext{D, P, A, S, Sol, N}.Cloner"/></param>
 public SearchContext(D domain, P source, P target, S subject, Sol solution, SearchStatus status, SearchNode <P, A> startNode, ISearchStrategy <D, P, A, S, Sol> search, IExpansionStrategy <D, P, A, S, Sol, A> expansion, IApplicationStrategy <D, P, A, S, Sol> application, IEvaluationStrategy <D, P, A, S, Sol> evaluation, IGoalStrategy <D, P, A, S, Sol> goal, ICloneStrategy <P> cloner)
 {
     Domain      = domain;
     Source      = source?.Copy();
     Target      = target?.Copy();
     Subject     = subject;
     Solution    = solution;
     Status      = status;
     StartNode   = startNode?.Copy();
     Search      = search;
     Expansion   = expansion;
     Application = application;
     Evaluation  = evaluation;
     Goal        = goal;
     Cloner      = cloner;
 }