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;
                }
            }
        }
Exemplo n.º 2
0
        private String getCodigoInterno()
        {
            String etiqueta;
            NodoListaDoble actual = this.ListaJuegos.primero;
            if (Izquierdo == null && Derecho == null)
            {
                etiqueta = "nodo" + id + " [ label =\"" + Usuario + "\"];\n";
                while (actual != null)
                {

                    etiqueta="nodo" + id + " [ label =\"" + "Oponente: " + actual.getNicknameOponente() + "\\n Unidades Desplegadas: " + actual.getUnidadesDesplegadas().ToString() + "\\n Unidades Sobrevivientes: " + actual.getUnidadesSobrevivientes().ToString() + "\\n Unidades Destruidas: " + actual.getUnidadesDestruidas().ToString() + "\\n Estado Victoria: " + actual.getEstadoVictoria().ToString() + "\"];\n");
                    id++;
                    actual = actual.getSiguiente();
                }

            }
            else
            {
                etiqueta = "nodo" + id + " [ label =\"<C0>|" + Usuario + "|<C1>\"];\n";
            }
            if (Izquierdo != null)
            {
                etiqueta = etiqueta + Izquierdo.getCodigoInterno() +
                   "nodo" + id + ":C0->nodo" + Izquierdo.id + "\n";
            }
            if (Derecho != null)
            {
                etiqueta = etiqueta + Derecho.getCodigoInterno() +
                   "nodo" + id + ":C1->nodo" + Derecho.id + "\n";
            }
            return etiqueta;
        }
Exemplo n.º 3
0
        private String getCodigoInterno()
        {
            String         etiqueta;
            NodoListaDoble actual = this.ListaJuegos.primero;

            if (Izquierdo == null && Derecho == null)
            {
                etiqueta = "nodo" + id + " [ label =\"" + Usuario + "\"];\n";
            }
            else
            {
                etiqueta = "nodo" + id + " [ label =\"<C0>|" + Usuario + "|<C1>\"];\n";
            }
            if (Izquierdo != null)
            {
                etiqueta = etiqueta + Izquierdo.getCodigoInterno() +
                           "nodo" + id + ":C1->nodo" + Izquierdo.id + "\n";
            }
            if (Derecho != null)
            {
                etiqueta = etiqueta + Derecho.getCodigoInterno() +
                           "nodo" + id + ":C0->nodo" + Derecho.id + "\n";
            }
            return(etiqueta);
        }
Exemplo n.º 4
0
        public void RecorrerLista()
        {
            NodoListaDoble actual = this.primero;

            while (actual != null)
            {
                Console.Write(actual.getNickname() + " <-> ");
                actual = actual.getSiguiente();
            }
        }
Exemplo n.º 5
0
        public void EliminarEnLista(String Nickname, String NicknameOponente)
        {
            Boolean condicion = false;

            if (ListaVacia(primero))
            {
                Console.WriteLine("La lista no posee elementos, esta vacía");
            }
            else
            {
                NodoListaDoble actual = this.primero;
                while (actual != null)
                {
                    if (actual.getNickname() == Nickname)
                    {
                        condicion = true;
                        break;
                    }
                    actual = actual.getSiguiente();
                }

                if (condicion == true)
                {
                    Console.WriteLine("El dato existe en la lista, se eliminó correctamente");
                }
                else
                {
                    Console.WriteLine("El dato no existe en la lista!!!");
                }

                if (actual != null)
                {
                    if (actual == this.primero)
                    {
                        this.primero = actual.getSiguiente();

                        if (actual.getSiguiente() != null)
                        {
                            actual.getSiguiente().setAnterior(null);
                        }
                    }
                    else if (actual.getSiguiente() != null)
                    {
                        actual.getAnterior().setSiguiente(actual.getSiguiente());
                        actual.getSiguiente().setAnterior(actual.getAnterior());
                    }
                    else
                    {
                        actual.getAnterior().setSiguiente(null);
                    }
                }
                actual = null;
                return;
            }
        }
Exemplo n.º 6
0
 public Boolean ListaVacia(NodoListaDoble primero)
 {
     if (primero == null)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 7
0
 public NodoListaDoble(String Nickname, String NicknameOponente, int UnidadesDesplegadas, int UnidadesSobrevivientes, int UnidadesDestruidas, int EstadoVictoria)
 {
     this.Nickname               = Nickname;
     this.NicknameOponente       = NicknameOponente;
     this.UnidadesDesplegadas    = UnidadesDesplegadas;
     this.UnidadesSobrevivientes = UnidadesSobrevivientes;
     this.UnidadesDestruidas     = UnidadesDestruidas;
     this.EstadoVictoria         = EstadoVictoria;
     this.Siguiente              = null;
     this.Anterior               = null;
 }
Exemplo n.º 8
0
        public void InsertarEnLista(String Nickname, String NicknameOponente, int UnidadesDesplegadas, int UnidadesSobrevivientes, int UnidadesDestruidas, int EstadoVictoria)
        {
            NodoListaDoble nuevo = new NodoListaDoble(Nickname, NicknameOponente, UnidadesDesplegadas, UnidadesSobrevivientes, UnidadesDestruidas, EstadoVictoria);

            if (ListaVacia(primero))
            {
                this.primero = nuevo;
                this.ultimo  = nuevo;
                return;
            }
            this.ultimo.setSiguiente(nuevo);
            nuevo.setAnterior(this.ultimo);
            this.ultimo = nuevo;
        }
Exemplo n.º 9
0
 public ListaDoble()
 {
     primero = null;
     ultimo  = null;
 }
Exemplo n.º 10
0
        public void graficar(String path)
        {
            StreamWriter   fichero = null;
            int            id      = 0;
            NodoListaDoble actual  = this.primero;

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

                while (actual != null)
                {
                    fichero.Write("nodo" + id + " [ label =\"" + "Oponente: " + actual.getNicknameOponente() + "\\n Unidades Desplegadas: " + actual.getUnidadesDesplegadas().ToString() + "\\n Unidades Sobrevivientes: " + actual.getUnidadesSobrevivientes().ToString() + "\\n Unidades Destruidas: " + actual.getUnidadesDestruidas().ToString() + "\\n Estado Victoria: " + actual.getEstadoVictoria().ToString() + "\"];\n");
                    id++;
                    actual = actual.getSiguiente();
                }

                actual = this.primero;
                id     = 0;
                while (actual != null)
                {
                    if (id == 0)
                    {
                        fichero.Write("nodo" + (id) + "->" + "nodo" + (id + 1) + ";\n");
                        id++;
                    }
                    else
                    {
                        fichero.Write("nodo" + (id) + "->" + "nodo" + (id - 1) + ";\n");
                        fichero.Write("nodo" + (id) + "->" + "nodo" + (id + 1) + ";\n");
                        id++;
                    }
                    actual = actual.getSiguiente();
                }
                fichero.Write("}\n");
            }
            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 + " ListaDobleJuegos.dot";
                Process.Start(startInfo);
                Process.Start("ListaDobleJuegos.png");
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine("Error al generar la imagen para el archivo ListaDobleJuegos.dot" + ex.ToString());
            }
        }
Exemplo n.º 11
0
 public void setSiguiente(NodoListaDoble Siguiente)
 {
     this.Siguiente = Siguiente;
 }
Exemplo n.º 12
0
 public void setAnterior(NodoListaDoble Anterior)
 {
     this.Anterior = Anterior;
 }