Exemplo n.º 1
0
        public void addLevel(MoveNode parent, pieceMove[] data)
        {
            for (int i = 0; i < data.Length; i++)
            {
                parent.addChild(new MoveNode(parent, data[i], null));
            }

            depth++;
        }
Exemplo n.º 2
0
        public bool moveUp()
        {
            if (!currNode.Parent.Equals(null))
            {
                this.currNode = currNode.Parent;
            }

            return(false);
        }
Exemplo n.º 3
0
        public bool moveDown(int index)
        {
            MoveNode[] nodes = currNode.getChildNodes().ToArray();
            if (nodes.Length <= index && !nodes[index].Equals(null))
            {
                currNode = nodes[index];
                return(true);
            }

            return(false);
        }
Exemplo n.º 4
0
        public bool moveLeft()
        {
            int      index = -1;
            MoveNode par   = currNode.Parent;

            MoveNode[] nodes = par.getChildNodes().ToArray();

            for (int i = 0; i < nodes.Length; i++)
            {
                if (nodes[i] == currNode)
                {
                    index = i;
                }
            }

            if (index != -1 && index < nodes.Length)
            {
                currNode = nodes[index + 1];
                return(true);
            }

            return(false);
        }
Exemplo n.º 5
0
 public void removeChild(MoveNode node)
 {
     childNodes.Remove(node);
 }
Exemplo n.º 6
0
 public void addChild(MoveNode node)
 {
     childNodes.Add(node);
 }
Exemplo n.º 7
0
 public MoveNode(MoveNode parent, pieceMove data, List <MoveNode> children)
 {
     this.parent     = parent;
     this.data       = data;
     this.childNodes = children;
 }
Exemplo n.º 8
0
 public MoveTree(pieceMove headData)
 {
     head  = new MoveNode(null, headData, null);
     depth = 0;
 }