コード例 #1
0
        public void GraficarTopUniDes(ListaTopUnidadesDestruidas lista)
        {
            sw = new StreamWriter(ruta + "\\top10u.dot");
            sw.WriteLine("digraph{");
            sw.WriteLine("node[shape = record]");
            sw.WriteLine("subgraph clusterTop{");
            sw.WriteLine("label=\"Top 10 de Jugadores con mayor porcentaje de unidades destruidas\"");
            NodoTopUnidadesDestruidas aux = lista.GetPrimero();
            int cont = 0;

            while (cont < 10 && aux != null)
            {
                sw.WriteLine("top" + cont + "[label = \"Jugador: " + aux.GetId() + "\\nNumero de juegos ganados: " + aux.GetPorcentaje() + "\"];");
                aux = aux.GetSiguiente();
                cont++;
            }
            sw.WriteLine("}");
            sw.WriteLine("}");
            sw.Close();
            var comando     = string.Format("dot -Tjpg {0} -o {1}", ruta + "\\top10u.dot", ruta + "\\top10u.jpg");
            var informacion = new System.Diagnostics.ProcessStartInfo("cmd", "/C" + comando);
            var proceso     = new System.Diagnostics.Process();

            proceso.StartInfo = informacion;
            proceso.Start();
            proceso.WaitForExit();
        }
コード例 #2
0
        public bool Existe(string id, double n)
        {
            NodoTopUnidadesDestruidas aux = this.primero;

            while (aux != null)
            {
                if (aux.GetId() == id)
                {
                    double num = aux.GetPorcentaje() + n;
                    aux.SetPorcentaje(num);
                    return(true);
                }
                aux = aux.GetSiguiente();
            }
            return(false);
        }
コード例 #3
0
 public void InsertarTopUnidades(string id, double numero)
 {
     if (!Existe(id, numero))
     {
         NodoTopUnidadesDestruidas nuevo = new NodoTopUnidadesDestruidas(id, numero);
         if (this.primero == null)
         {
             this.primero = nuevo;
         }
         else
         {
             if (nuevo.GetPorcentaje() > this.primero.GetPorcentaje())
             {
                 nuevo.SetSiguiente(this.primero);
                 this.primero = nuevo;
             }
             else
             {
                 NodoTopUnidadesDestruidas aux = this.primero;
                 while (aux.GetSiguiente() != null)
                 {
                     if (aux.GetPorcentaje() > nuevo.GetPorcentaje() && nuevo.GetPorcentaje() > aux.GetSiguiente().GetPorcentaje() || aux.GetPorcentaje() == nuevo.GetPorcentaje())
                     {
                         break;
                     }
                     aux = aux.GetSiguiente();
                 }
                 if (aux.GetSiguiente() == null)
                 {
                     aux.SetSiguiente(nuevo);
                 }
                 else
                 {
                     nuevo.SetSiguiente(aux.GetSiguiente());
                     aux.SetSiguiente(nuevo);
                 }
             }
         }
     }
 }
コード例 #4
0
 public void SetSiguiente(NodoTopUnidadesDestruidas aux)
 {
     this.siguiente = aux;
 }
コード例 #5
0
 public NodoTopUnidadesDestruidas(string id, double porcentaje)
 {
     this.id         = id;
     this.porcentaje = porcentaje;
     this.siguiente  = null;
 }
コード例 #6
0
 public ListaTopUnidadesDestruidas()
 {
     this.primero = null;
 }