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 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; }
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); }
public void RecorrerLista() { NodoListaDoble actual = this.primero; while (actual != null) { Console.Write(actual.getNickname() + " <-> "); actual = actual.getSiguiente(); } }
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; } }
public Boolean ListaVacia(NodoListaDoble primero) { if (primero == null) { return(true); } else { return(false); } }
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; }
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; }
public ListaDoble() { primero = null; ultimo = null; }
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()); } }
public void setSiguiente(NodoListaDoble Siguiente) { this.Siguiente = Siguiente; }
public void setAnterior(NodoListaDoble Anterior) { this.Anterior = Anterior; }