Beispiel #1
0
        static int EvaluateDurationAndPrint(IADTreeNode node, ADTreeContext context)
        {
            EvaluateDurationVisitor v = new EvaluateDurationVisitor();
            var value = v.GetValue(node, v, context);
            Console.WriteLine("Minimum attack time: " + value);

            Console.WriteLine("");
            Console.WriteLine("----------------------------------------");
            return value;
        }
Beispiel #2
0
 public int GetValue(IADTreeNode a, EvaluateDurationVisitor b, ADTreeContext c)
 {
     if (a is LEAF)
     {
         return((int)a.Accept(this));
     }
     else if (a is OR)
     {
         int v1 = GetValue(a.childs[0], b, c);
         int v2 = GetValue(a.childs[1], b, c);
         return(v1 > v2 ? v2 : v1);
     }
     else
     {
         return(GetValue(a.childs[0], b, c) + GetValue(a.childs[1], b, c));
     }
 }