Esempio n. 1
0
        internal WeighNode(WeighPoint weighPoint, KnowledgeNode parent)
        {
            if (parent == null)
            {
                throw new ArgumentNullException(nameof(parent));
            }

            WeighPoint = weighPoint;
            Parent     = parent;
        }
Esempio n. 2
0
        internal List <KnowledgeNode> EvaluateStrategiesUnderNode(KnowledgeNode node)
        {
            if (node.Level > 3)
            {
                return new List <KnowledgeNode> {
                           node
                }
            }
            ;

            List <KnowledgeNode> childKnowledgeNodes = new List <KnowledgeNode>();

            foreach (var weighNode in node.WeighNodes)
            {
                childKnowledgeNodes.AddRange(new KnowledgeNode[] { weighNode.IfLeftWins, weighNode.IfRightWins, weighNode.IfEven });
            }

            return(childKnowledgeNodes.SelectMany(EvaluateStrategiesUnderNode).ToList());
        }
Esempio n. 3
0
 internal StrategyTree(KnowledgeNode root)
 {
     _root = root;
 }