public nodotop buscarlistatop10(string nicknamee) { if (inicio == null) { return(null); } else { nodotop auxiliar = inicio; while (auxiliar != null) { if (auxiliar.Nickname == nicknamee) { return(auxiliar); } auxiliar = auxiliar.Siguiente; } return(null); } }
public void insertaralfinal(string nick, int juegos) { nodotop nuevo = new nodotop(nick, juegos); if (inicio == null) { inicio = nuevo; } else { nodotop auxiliar = inicio; while (auxiliar != null) { if (auxiliar.Siguiente == null) { auxiliar.Siguiente = nuevo; nuevo.Anterior = auxiliar; break; } auxiliar = auxiliar.Siguiente; } } }
public void ordenar() { if (inicio == null) { return; } else { nodotop auxuno = inicio; nodotop auxdos = inicio; while (auxuno != null) { if (auxuno.Siguiente != null) { auxdos = auxdos.Siguiente; while (auxdos != null) { if (auxuno.JuegosGanados < auxdos.JuegosGanados) { int auxjuegos = auxuno.JuegosGanados; string auxnickname = auxuno.Nickname; auxuno.JuegosGanados = auxdos.JuegosGanados; auxuno.Nickname = auxdos.Nickname; auxdos.JuegosGanados = auxjuegos; auxdos.Nickname = auxnickname; } auxdos = auxdos.Siguiente; } } auxuno = auxuno.Siguiente; auxdos = auxuno; } } }
public void mostrar() { int contaaux = 1; int contaaux2 = 2; nodotop aux = inicio; StreamWriter grafo2 = new StreamWriter("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\servidorproyecto\\top10.txt"); grafo2.WriteLine("digraph G{"); while (aux.Siguiente != null) { grafo2.WriteLine("\"" + contaaux + aux.Nickname + "," + aux.JuegosGanados + "\"->\"" + contaaux2 + aux.Siguiente.Nickname + "," + aux.Siguiente.JuegosGanados + "\""); grafo2.WriteLine("\"" + contaaux2 + aux.Siguiente.Nickname + "," + aux.Siguiente.JuegosGanados + "\"->\"" + contaaux + aux.Nickname + "," + aux.JuegosGanados + "\""); contaaux++; contaaux2++; aux = aux.Siguiente; } grafo2.WriteLine("}"); grafo2.Close(); try { using (var dot = new Process()) { // dot.StartInfo.Verb = "runas"; // Run process as admin. dot.StartInfo.FileName = @"C:\Program Files (x86)\Graphviz2.38\bin\dot.exe"; dot.StartInfo.WorkingDirectory = @"C:/Users/Admin/Documents/Visual Studio 2015/Projects/servidorproyecto"; dot.StartInfo.Arguments = "-Tpng top10.txt -o top10.png "; dot.Start(); dot.WaitForExit(); } } catch (Exception e) { } }
} //fin csvcargar usuarios public void csvcargarlistausuarios() { int auxinicio = 0; List <string[]> parsedData = new List <string[]>(); using (StreamReader readFile = new StreamReader("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\servidorproyecto\\juegos.csv")) { string line; string[] row; while ((line = readFile.ReadLine()) != null) { if (auxinicio == 0) { row = line.Split(','); parsedData.Add(row); // insertar(row[0]); auxinicio = 2; } else { row = line.Split(','); Console.WriteLine(row); parsedData.Add(row); insertarlistausuario(row[0], row[1], row[2], row[3], row[4], Convert.ToInt32(row[5])); nodotop aux = ltop10.buscarlistatop10(row[0]); nodotopdestruido auxdestruido = ltop10p.buscarlistatop(row[0]); if (aux != null)//quiere decir que si lo encontro { aux.JuegosGanados = aux.JuegosGanados + 1; } else if (aux == null) { //se inserta if (Convert.ToInt32(row[5]) == 1) //1 gano, 0 perdio { ltop10.insertaralfinal(row[0], Convert.ToInt32(row[5])); } else { ltop10.insertaralfinal(row[0], 0); } } //fin top 10 de jugadores con mas partidasd ganadas //**************************para encontrar top 10 de unidades destruidas****** if (auxdestruido != null)//quiere decir que si lo encontro { auxdestruido.UniPerdidas = auxdestruido.UniPerdidas + Convert.ToInt32(row[4]); } else if (auxdestruido == null) { //se inserta ltop10p.insertaralfinal(row[0], Convert.ToInt32(row[4])); } } } ltop10.ordenar(); ltop10.mostrar(); ltop10p.ordenar(); ltop10p.mostrar(); } } //fin csvcargar usuarios