public BTNode AddingRoot()
        {//adding root for new yes or no node or question
            Game.start();
            Queue <BTNode> queue = new Queue <BTNode>();

            queue.Enqueue(Game.Roots);

            while (queue.Count > 0)
            {
                BTNode t = queue.Dequeue();
                if (t.GetQuestion() == TRoot.GetQuestion())
                {
                    return(t);
                }
                if (t.GetYesNode() != null)
                {
                    queue.Enqueue(t.GetYesNode());
                }
                if (t.GetNoNode() != null)
                {
                    queue.Enqueue(t.GetNoNode());
                }
            }
            return(null);
        }
Ejemplo n.º 2
0
        public void PreOrderDisplay(BTNode Root)
        {
            if (Root == null)
            {
                return;
            }

            Console.WriteLine(Root.GetQuestion());
            PreOrderDisplay(Root.GetYesNode());
            PreOrderDisplay(Root.GetNoNode());
        }
Ejemplo n.º 3
0
        public Queue PreOrderWrite()
        {
            if (Roots == null)
            {
                return(null);
            }

            Stack stack  = new Stack();
            Queue output = new Queue();

            stack.push(Roots);

            while (!stack.IsEmpty())
            {
                BTNode temp = stack.pop();
                output.Enqueue(temp.GetQuestion());

                if (temp.GetYesNode() != null)
                {
                    stack.push(temp.GetYesNode());
                }
                else
                {
                    output.Enqueue("x");
                }
                if (temp.GetNoNode() != null)
                {
                    stack.push(temp.GetNoNode());
                }
                else
                {
                    output.Enqueue("x");
                }
            }
            return(output);
        }
Ejemplo n.º 4
0
 private void button2_Click(object sender, EventArgs e)
 {
     //NO BUTTON
     if (status == false)
     {
         TempRoot = TempRoot.GetNoNode();
         if (TempRoot.IsPrediction())
         {
             q = TempRoot.GetQuestion();
             MakeQues();
         }
         else
         {
             q = TempRoot.GetQuestion();
             MakePrediction();
         }
     }
     else
     {
         this.Hide();
         UpdateknowledgeScreen t = new UpdateknowledgeScreen(TempRoot);
         t.ShowDialog();
     }
 }