public void Insertar(listaDoble ld, string jug, string desp, string sobre, string dest, string gano)
    {
        NodoD nuevo = new NodoD();

        nuevo.jugador         = jug;
        nuevo.uDesplegables   = desp;
        nuevo.uSobrevivientes = sobre;
        nuevo.uDestruidas     = dest;
        nuevo.Gano            = gano;
        if (ld.primero == null)
        {
            ld.primero = nuevo;
        }
        else
        {
            NodoD aux = ld.primero;
            while (aux != null)
            {
                if (aux.siguiente == null)
                {
                    aux.siguiente = nuevo;
                    nuevo.atras   = aux;
                    break;
                }
                aux = aux.siguiente;
            }
        }
    }
    public void eliminar(listaDoble ld, String nombre)
    {
        NodoD aux = null;

        if (Buscar(ld, nombre) == true)
        {
            if (ld.primero.jugador == nombre)
            {
                if (ld.primero.siguiente != null)
                {
                    aux                  = ld.primero.siguiente;
                    aux.atras            = null;
                    ld.primero.siguiente = null;
                    ld.primero           = aux;
                }
                else
                {
                    ld.primero = null;
                }
            }
            else
            {
                aux = ld.primero;
                while (aux != null)
                {
                    if (aux.siguiente == null)
                    {
                        NodoD auxT = null;
                        if (aux.jugador == nombre)
                        {
                            auxT           = aux.atras;
                            auxT.siguiente = null;
                            aux.atras      = null;
                            aux            = auxT;
                            break;
                        }
                    }
                    else if (aux.jugador == nombre)
                    {
                        NodoD auxA = aux.atras;
                        NodoD auxS = aux.siguiente;
                        aux.siguiente  = null;
                        aux.atras      = null;
                        auxA.siguiente = auxS;
                        auxS.atras     = auxA;
                        break;
                    }
                    else
                    {
                        aux = aux.siguiente;
                    }
                }
            }
        }
    }
    public string sub(listaDoble ld)
    {
        NodoD  tmp    = ld.primero;
        string cuerpo = "";

        while (tmp != null)
        {
            cuerpo += "\"Nombre Jugador: " + tmp.jugador + "\nUnidades Desplegables: " + tmp.uDesplegables + "\nUnidades Sobrevivientes: " + tmp.uSobrevivientes + "\nUnidades Destruidas: " + tmp.uDestruidas + "\nGano: " + tmp.Gano + "\"[style=filled; color= white;];\n";
            tmp     = tmp.siguiente;
        }
        return(cuerpo);
    }
Example #4
0
 public void push(T item)
 {
     if (isEmpty())
     {
         raiz = fin = new NodoD <T>(item);
     }
     else
     {
         fin.siguiente          = new NodoD <T>(item);
         fin.siguiente.anterior = fin;
         fin = fin.siguiente;
     }
     count++;
 }
Example #5
0
 public void pushTop(T item)
 {
     if (isEmpty())
     {
         raiz = fin = new NodoD <T>(item);
     }
     else
     {
         NodoD <T> aux = raiz;
         raiz           = new NodoD <T>(item);
         raiz.siguiente = aux;
         aux.anterior   = raiz;
     }
     count++;
 }
Example #6
0
        private static string codigoNodos(Nodo <Persona> padre, int cont = 0)//funcion para generar codigo de nodos de arboles de max dos hijos
        {
            if (padre == null)
            {
                return("");
            }

            Persona actual = padre.Item;
            string  nombre = padre.Key;
            string  codigo = nombre + "[label=\"Nick:\t" + nombre + "\n"
                             + "Password:\t" + actual.password + "\n"
                             + "Mail:\t" + actual.mail + "\n"
                             + "Estado:\t" + actual.Conectado.ToString() + "\";shape=box]\n";
            NodoD <Juego> partidas = actual.juegos.raiz;
            Juego         juego_actual;

            //int cont = 0;
            if (partidas != null)
            {
                codigo += nombre + "->juego" + cont + ";\n";
            }
            while (partidas != null)//codigo para las partidas del jugador
            {
                juego_actual = partidas.Item;
                codigo      += "juego" + cont + "[label=\"Partida" + cont + "\nOponente:" + juego_actual.Oponente
                               + "\nDesplegados:" + juego_actual.Unidades_desplegadas + "\nSobrevivientes:"
                               + juego_actual.Unidades_sobrevivientes + "\nCaidos:" + juego_actual.Unidades_destruidas_por_mi + "\nGane:"
                               + juego_actual.Gane.ToString() + "\";shape=box];\n";
                if (partidas.anterior != null)
                {
                    codigo += "juego" + cont + "->juego" + (cont - 1) + ";\n";
                    codigo += "juego" + (cont - 1) + "->juego" + cont + ";\n";
                }
                cont++;
                partidas = partidas.siguiente;
            }
            if (padre.izq != null)
            {
                codigo += nombre + ":sw->" + padre.izq.Key + "\n";//la sw es para que el hijo quede a la izq del padre, sin importar si padre tine un solo hijo
            }
            if (padre.der != null)
            {
                codigo += nombre + ":se->" + padre.der.Key + "\n";//la se es para que el hijo quede a la der del padre, sin importar si padre tine un solo hijo
            }
            codigo += codigoNodos(padre.izq, cont);
            codigo += codigoNodos(padre.der, cont);
            return(codigo);
        }
    public bool Buscar(listaDoble ld, string dato)
    {
        NodoD aux     = ld.primero;
        bool  bandera = false;

        while (aux != null)
        {
            if (aux.jugador == dato)
            {
                bandera = true;
                break;
            }
            aux = aux.siguiente;
        }

        return(bandera);
    }
    public string mostrar(listaDoble ld)
    {
        NodoD  tmp    = ld.primero;
        string cuerpo = "";

        while (tmp != null)
        {
            cuerpo += "\"Nombre Jugador: " + tmp.jugador + "\nUnidades Desplegables: " + tmp.uDesplegables + "\nUnidades Sobrevivientes: " + tmp.uSobrevivientes + "\nUnidades Destruidas: " + tmp.uDestruidas + "\nGano: " + tmp.Gano + "\";\n";
            if (tmp.siguiente != null)
            {
                cuerpo += "\"Nombre Jugador: " + tmp.jugador + "\nUnidades Desplegables: " + tmp.uDesplegables + "\nUnidades Sobrevivientes: " + tmp.uSobrevivientes + "\nUnidades Destruidas: " + tmp.uDestruidas + "\nGano: " + tmp.Gano + "\" -> \"Nombre Jugador: " + tmp.siguiente.jugador + "\nUnidades Desplegables: " + tmp.siguiente.uDesplegables + "\nUnidades Sobrevivientes: " + tmp.siguiente.uSobrevivientes + "\nUnidades Destruidas: " + tmp.siguiente.uDestruidas + "\nGano: " + tmp.siguiente.Gano + "\";\n";
                cuerpo += "\"Nombre Jugador: " + tmp.siguiente.jugador + "\nUnidades Desplegables: " + tmp.siguiente.uDesplegables + "\nUnidades Sobrevivientes: " + tmp.siguiente.uSobrevivientes + "\nUnidades Destruidas: " + tmp.siguiente.uDestruidas + "\nGano: " + tmp.siguiente.Gano + "\" -> \"Nombre Jugador: " + tmp.jugador + "\nUnidades Desplegables: " + tmp.uDesplegables + "\nUnidades Sobrevivientes: " + tmp.uSobrevivientes + "\nUnidades Destruidas: " + tmp.uDestruidas + "\nGano: " + tmp.Gano + "\";\n";
            }
            tmp = tmp.siguiente;
        }
        return(cuerpo);
    }
Example #9
0
        public T peekAt(int index)
        {
            if (isEmpty())
            {
                return(default(T));
            }
            if (index < 0 || index >= count)
            {
                return(default(T));
            }
            NodoD <T> aux = raiz;

            for (int i = 0; i < index; i++)
            {
                aux = aux.siguiente;
            }
            return(aux.Item);
        }
Example #10
0
 public T pop()//retira de la cima
 {
     if (isEmpty())
     {
         return(default(T));
     }
     else
     {
         NodoD <T> aux = raiz;
         raiz = raiz.siguiente;
         if (isEmpty())
         {
             fin = null;
         }
         T item = aux.Item;
         count--;
         return(item);
     }
 }
Example #11
0
    public void modificar(listaDoble ld, string jugViejo, string jug, string desp, string sobre, string dest, string gano)
    {
        NodoD aux = ld.primero;

        while (aux != null)
        {
            if (aux.jugador == jugViejo)
            {
                aux.jugador         = "";
                aux.jugador         = jug;
                aux.uDesplegables   = desp;
                aux.uSobrevivientes = sobre;
                aux.uDestruidas     = dest;
                aux.Gano            = gano;
                break;
            }
            else
            {
                aux = aux.siguiente;
            }
        }
    }
Example #12
0
 public NodoD()
 {
     anterior = siguiente = null;
 }
Example #13
0
 public NodoD(T item)
 {
     this.item = item;
     anterior  = siguiente = null;
 }
Example #14
0
 public ListaD()
 {
     raiz  = fin = null;
     count = 0;
 }