internal WeighNode(WeighPoint weighPoint, KnowledgeNode parent) { if (parent == null) { throw new ArgumentNullException(nameof(parent)); } WeighPoint = weighPoint; Parent = parent; }
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()); }
internal StrategyTree(KnowledgeNode root) { _root = root; }