public void graficarArbol(String path)
        {
            //StreamWriter fichero = null;

            try
            {
                //fichero = new StreamWriter("ABBTreeConLista.dot");
                fichero.Write("digraph grafica{\n" +
                              "rankdir=TB;\n" +
                              "node [shape = record, style=filled, fillcolor=burlywood2];\n");

                //Inicia cuerpo del grafo
                fichero.Write(RaizABB.getNicknamee() + " [label=\"<f0> | <f1>" + RaizABB.getNicknamee() + " |<f2>\"];");
                fichero.Write("\n");
                //fichero.Close();
                grafoArbol(RaizABB);
                fichero.Write("}");
                //fichero.Close();
            }
            catch (Exception e)
            {
                Console.Error.WriteLine("Error al escribir en el archivos dot" + e.ToString());
            }
            finally
            {
                try
                {
                    if (null != fichero)
                    {
                        fichero.Close();
                    }
                }
                catch (Exception e2)
                {
                    Console.Error.WriteLine("Error al cerrar el archivo .dot" + e2.ToString());
                }
            }
            try
            {
                ProcessStartInfo startInfo = new ProcessStartInfo("C:\\Program Files (x86)\\Graphviz\\bin\\dot.exe");
                startInfo.Arguments = "dot -Tpng -o" + path + " Arbol_Usuarios.dot";
                Process.Start(startInfo);
                Process.Start("Arbol_Usuarios.png");
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine("Error al generar la imagen para el archivo Arbol_Usuarios.dot" + ex.ToString());
            }
        }
        private void Rlista(NodoArbolABB actual)
        {
            if (actual != null)
            {
                if (actual.getListaJuegos().primero != null)
                {
                    NodoListaDoble actual2 = actual.getListaJuegos().primero;
                    while (actual2 != null)
                    {
                        if (actual.getNicknamee() == actual2.getNickname())
                        {
                            if (contador == 0)
                            {
                                fichero.Write(actual2.getNickname() + ":f1 -> " + "\"" + "Usuario: " + actual2.getNickname() + ", \n Oponente: " + actual2.getNicknameOponente() + ", \n Unidades Desplegadas: " + actual2.getUnidadesDesplegadas().ToString() + ", \n Unidades Sobrevivientes: " + actual2.getUnidadesSobrevivientes().ToString() + ", \n Unidades Destruidas: " + actual2.getUnidadesDestruidas().ToString() + ", \n Victoria: " + actual2.getEstadoVictoria().ToString() + "\"[dir=both];");
                                fichero.Write("\n");
                                contador = 1;
                            }
                            else
                            {
                                fichero.Write("\"" + "Usuario: " + actual2.getNickname() + ", \n Oponente: " + actual2.getAnterior().getNicknameOponente() + ", \n Unidades Desplegadas: " + actual2.getUnidadesDesplegadas().ToString() + ", \n Unidades Sobrevivientes: " + actual2.getUnidadesSobrevivientes().ToString() + ", \n Unidades Destruidas: " + actual2.getUnidadesDestruidas().ToString() + ", \n Victoria: " + actual2.getEstadoVictoria().ToString() + "\"" + "->" + "\"" + "Usuario: " + actual2.getNickname() + ", \n Oponente: " + actual2.getNicknameOponente() + ", \n Unidades Desplegadas: " + actual2.getUnidadesDesplegadas().ToString() + ", \n Unidades Sobrevivientes: " + actual2.getUnidadesSobrevivientes().ToString() + ", \n Unidades Destruidas: " + actual2.getUnidadesDestruidas().ToString() + ", \n Victoria: " + actual2.getEstadoVictoria().ToString() + "\"[dir=both];");
                                fichero.Write("\n");
                            }

                            //Console.WriteLine(actual2.getNickname() + " Oponente: " + actual2.getNicknameOponente());
                            actual2 = actual2.getSiguiente();
                        }
                        else
                        {
                            actual2 = actual2.getSiguiente();
                        }
                    }
                    contador = 0;
                }
            }
        }
 private void inorden(NodoArbolABB a)
 {
     if (a == null)
     {
         return;
     }
     inorden(a.getIzquierdo());
     Console.Write(a.getNicknamee() + ",");
     inorden(a.getDerecho());
 }
 private void grafoArbol(NodoArbolABB actual)
 {
     //StreamWriter fichero = new StreamWriter("ABBTreeConLista.dot");
     if (actual.getIzquierdo() != null)
     {
         fichero.Write(actual.getIzquierdo().getNicknamee() + " [label=\"<f0> |<f1>" + actual.getIzquierdo().getNicknamee() + " |<f2>\"];");
         fichero.Write("\n");
         fichero.Write(actual.getNicknamee() + ":f0 -> " + actual.getIzquierdo().getNicknamee() + ":f1;");
         fichero.Write("\n");
         Rlista(actual.getIzquierdo());
         //Console.WriteLine(graflista(actual.getIzquierdo()));
         grafoArbol(actual.getIzquierdo());
     }
     if (actual.getDerecho() != null)
     {
         fichero.Write(actual.getDerecho().getNicknamee() + " [label=\"<f0> |<f1>" + actual.getDerecho().getNicknamee() + " |<f2>\"];");
         fichero.Write("\n");
         fichero.Write(actual.getNicknamee() + ":f2 -> " + actual.getDerecho().getNicknamee() + ":f1;");
         fichero.Write("\n");
         Rlista(actual.getDerecho());
         //Console.WriteLine(graflista(actual.getIzquierdo()));
         grafoArbol(actual.getDerecho());
     }
 }
Exemplo n.º 5
0
 private void Reemplazar(NodoArbolABB raiz, IComparable usuario, String contra, String Correo, int IndicadorConexion)
 {
     if (raiz != null)
     {
         if (raiz.getNicknamee() == usuario.ToString())
         {
             //Console.WriteLine("datos encontrados");
             raiz.EliminarNodo(raiz, usuario, contra, Correo, IndicadorConexion);
         }
         else if (usuario.CompareTo(raiz.getNickname()) <= 0)
         {
             Reemplazar(raiz.getIzquierdo(), usuario, contra, Correo, IndicadorConexion);
         }
         else
         {
             Reemplazar(raiz.getDerecho(), usuario, contra, Correo, IndicadorConexion);
         }
     }
 }
Exemplo n.º 6
0
        private void inorden(NodoArbolABB a)
        {
            if (a == null)
            {
                return;
            }
            inorden(a.getIzquierdo());
            Console.Write(a.getNicknamee() + ",");
            //if (a.getPadre() == null)
            //{
            //    Console.WriteLine(" {//} "+a.getNickname().ToString() + ",");
            //}
            //else
            //{
            //    Console.WriteLine(a.getNickname().ToString() + " " + a.getPadre().getNickname().ToString() + " , ");
            //}

            inorden(a.getDerecho());
        }