コード例 #1
0
        public void DibujarNodo(Graphics grafo, Font fuente, Brush Relleno, Brush RellenoFuente, Pen Lapiz, Brush encuentro)
        {
            Rectangle rect = new Rectangle((int)(CoordenadaX - Radio / 2), (int)(CoordenadaY - Radio / 2), Radio, Radio);

            //prueba = new Rectangle((int)(CoordenadaX - Radio / 2), (int)(CoordenadaY - Radio / 2), Radio, Radio);

            grafo.FillEllipse(encuentro, rect);
            grafo.FillEllipse(Relleno, rect);
            grafo.DrawEllipse(Lapiz, rect);

            StringFormat formato = new StringFormat();      //Dibujar contenido

            formato.Alignment     = StringAlignment.Center;
            formato.LineAlignment = StringAlignment.Center;
            grafo.DrawString(info.ToString(), fuente, RellenoFuente, CoordenadaX, CoordenadaY, formato);

            if (Izquierda != null)
            {
                Izquierda.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro);
            }
            if (Derecha != null)
            {
                Derecha.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro);
            }
        }
コード例 #2
0
ファイル: Nodo Arbol.cs プロジェクト: OzkarG/ARBOL-BINARIO
        // Función para dibujar el nodo en la posición especificada.
        public void DibujarNodo(Graphics grafo, Font fuente, Brush Relleno, Brush RellenoFuente, Pen Lapiz, Brush encuentro, int i, int m, int max, int min)
        {
            // Dibuja el contorno del nodo
            Rectangle rect   = new Rectangle((int)(CoordenadaX - Radio / 2), (int)(CoordenadaY - Radio / 2), Radio, Radio);
            Rectangle prueba = new Rectangle((int)(CoordenadaX - Radio / 2), (int)(CoordenadaY - Radio / 2), Radio, Radio);

            if (max == info)
            {
                //MessageBox.Show("max=" + max + " info=" + info);
                grafo.FillEllipse(Brushes.Green, rect);
            }
            else if (min == info)
            {
                //MessageBox.Show("min=" + min + " info=" + info);
                grafo.FillEllipse(Brushes.Orange, rect);
            }
            else if (i == info)
            {
                //MessageBox.Show("i=" + i + " info=" + info);
                grafo.FillEllipse(encuentro, rect);
            }
            else if (m != 0)
            {
                if (info % m == 0)
                {
                    grafo.FillEllipse(Brushes.Red, rect);
                    suma = suma + info;
                }
                else
                {
                    grafo.FillEllipse(Relleno, rect);
                }
            }
            else
            {
                grafo.FillEllipse(Relleno, rect);
            }
            grafo.DrawEllipse(Lapiz, rect);
            // Para dibujar el nombre del nodo, es decir el contenido
            StringFormat formato = new StringFormat();

            formato.Alignment     = StringAlignment.Center;
            formato.LineAlignment = StringAlignment.Center;
            grafo.DrawString(info.ToString(), fuente, RellenoFuente, CoordenadaX,
                             CoordenadaY, formato);
            //Dibuja los nodos hijos derecho e izquierdo.
            if (Izquierdo != null)
            {
                Izquierdo.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro, i, m, max, min);
            }
            if (Derecho != null)
            {
                Derecho.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro, i, m, max, min);
            }
        }
コード例 #3
0
        public void DibujarArbol(Graphics grafo, Font fuente, Brush Relleno, Brush RellenoFuente, Pen Lapiz, Brush encuentro)
        {
            int x = 250;
            int y = 75;

            if (Raiz == null)
            {
                return;
            }
            Raiz.PosicionNodo(ref x, y);
            Raiz.DibujarRamas(grafo, Lapiz);
            Raiz.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro);
        }
コード例 #4
0
        //*****************************************************************************
        // ******** Funciones para el dibujo del Árbol Binario en el Formulario *******
        //*****************************************************************************

        //Funcion para obtener la suma

        // Función que dibuja el Árbol Binario
        public void DibujarArbol(Graphics grafo, Font fuente, Brush Relleno, Brush RellenoFuente, Pen Lapiz, Brush encuentro, int i, int m, int max, int min)
        {
            int x = 400; // Posiciones de la raíz del árbol
            int y = 75;

            if (Raiz == null)
            {
                return;
            }
            Raiz.PosicionNodo(ref x, y);     //Posición de cada nodo
            Raiz.DibujarRamas(grafo, Lapiz); //Dibuja los Enlaces entre nodos
            //Dibuja todos los Nodos
            Raiz.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro, i, m, max, min);
        }