Пример #1
0
        public void recorrerABB(ref NodoUsuario actual, ref string acum, ref string cabecera)
        {
            if (actual != null)
            {
                cabecera += "struct" + actual.informacion.nickName + "[label=\"<f0>  | <f1> nickName: " + actual.informacion.nickName + " \n \\n" +
                            "nombre: " + actual.informacion.nombre + " \n \\n" +
                            "password: "******" \n \\n" +
                            "email: " + actual.informacion.email + " \n \\n" +
                            "conectado: " + actual.informacion.conectado.ToString() + "  | <f2> \"];\n";
                if (actual.lstJuegos.primero != null)
                {
                    cabecera += "\n" + actual.lstJuegos.listaJuegos(actual.informacion.nickName);
                    acum     += "\"struct" + actual.informacion.nickName + "\":f1 -> " + actual.lstJuegos.primero.idNodo + ";\n";
                }
                if (actual.izquierda != null)
                {
                    acum += "\"struct" + actual.informacion.nickName + "\":f0 -> \"struct" + actual.izquierda.informacion.nickName + "\":f1;\n";
                }
                if (actual.derecha != null)
                {
                    acum += "\"struct" + actual.informacion.nickName + "\":f2 -> \"struct" + actual.derecha.informacion.nickName + "\":f1;\n";
                }

                recorrerABB(ref actual.izquierda, ref acum, ref cabecera);
                recorrerABB(ref actual.derecha, ref acum, ref cabecera);
            }
        }
Пример #2
0
 public NodoUsuario(ref Usuario info)
 {
     lstJuegos        = new Juegos();
     this.informacion = info;
     izquierda        = null;
     derecha          = null;
 }
Пример #3
0
        public List <string> getInfoContacto(string nickUsuario, string nickContacto)
        {
            List <string> infoContacto = new List <string>();
            NodoUsuario   usuario      = usuarioABB.buscar(nickUsuario);

            if (usuario != null)
            {
                NodoAVL contacto = usuario.lstContactos.getContacto(usuario.lstContactos.raiz, nickContacto);
                if (contacto != null)
                {
                    if (contacto.referenciaUsurio != null)
                    {
                        infoContacto.Add(contacto.referenciaUsurio.informacion.nickName);
                        infoContacto.Add(contacto.referenciaUsurio.informacion.password);
                        infoContacto.Add(contacto.referenciaUsurio.informacion.email);
                    }
                    else
                    {
                        infoContacto.Add(contacto.nickname);
                        infoContacto.Add(contacto.password);
                        infoContacto.Add(contacto.email);
                    }
                }
            }
            return(infoContacto);
        }
Пример #4
0
        public int nivelArbol(NodoUsuario actual)
        {
            int izq = 0;
            int der = 0;

            if (actual.izquierda == null && actual.derecha == null) //comprbando si es un nodo hoja
            {
                return(1);
            }
            else
            {
                if (actual.izquierda != null)
                {
                    izq = nivelArbol(actual.izquierda);
                }
                if (actual.derecha != null)
                {
                    der = nivelArbol(actual.derecha);
                }

                if (izq < der)
                {
                    return(der + 1);
                }
                else
                {
                    return(izq + 1);
                }
            }
        }
Пример #5
0
        public bool modificar(string nickName, string nickNuevo, string nombre, string password, string email, int conectado)
        {
            NodoUsuario encontrado = buscar(nickName);

            if (nickNuevo != "")
            {
                if (encontrado != null)
                {
                    bool eliminado = eliminar(nickName);
                    if (eliminado)
                    {
                        Usuario act = new Usuario(nombre, nickNuevo, password, email, conectado);
                        insertar(ref act);
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                encontrado.informacion.nombre    = nombre;
                encontrado.informacion.password  = password;
                encontrado.informacion.email     = email;
                encontrado.informacion.conectado = conectado;
                return(true);
            }
        }
Пример #6
0
 public NodoUsuario()
 {
     lstJuegos    = new Juegos();
     lstContactos = new ArbolAVL();
     izquierda    = null;
     derecha      = null;
     altura       = 0;
 }
Пример #7
0
 public void getNickUsuarios(NodoUsuario actual, ref List <string> nick)
 {
     if (actual != null)
     {
         nick.Add(actual.informacion.nickName);
         getNickUsuarios(actual.izquierda, ref nick);
         getNickUsuarios(actual.derecha, ref nick);
     }
 }
Пример #8
0
 public void insertarFromABB(ref NodoUsuario raiz)
 {
     if (raiz != null)
     {
         insertarFromABB(ref raiz.izquierda);
         insertar(raiz.informacion);
         insertarFromABB(ref raiz.derecha);
     }
 }
Пример #9
0
 public NodoAVL(string nickname, string password, string email)
 {
     this.referenciaUsurio = null;
     this.nickname         = nickname;
     this.password         = password;
     this.email            = email;
     this.izquierda        = null;
     this.derecha          = null;
 }
Пример #10
0
 public NodoAVL(ref NodoUsuario usuario)
 {
     this.referenciaUsurio = usuario;
     this.nickname         = usuario.informacion.nickName;
     this.password         = usuario.informacion.password;
     this.email            = usuario.informacion.email;
     this.derecha          = null;
     this.izquierda        = null;
 }
Пример #11
0
        public void graficarAVL(string nickUsuario)
        {
            NodoUsuario usuario = usuarioABB.buscar(nickUsuario);

            if (usuario != null)
            {
                g.generarGrafoAVL(ref usuario.lstContactos);
            }
        }
Пример #12
0
 public NodoUsuario(ref Usuario info)
 {
     lstJuegos        = new Juegos();
     lstContactos     = new ArbolAVL();
     this.informacion = info;
     izquierda        = null;
     derecha          = null;
     altura           = 0;
 }
Пример #13
0
        public void insertarRefAVL(string nickUsuario, string nickContacto)
        {
            NodoUsuario usuario         = usuarioABB.buscar(nickUsuario);
            NodoUsuario usuarioContacto = usuarioABB.buscar(nickContacto);

            if (usuario != null && usuarioContacto != null)
            {
                usuario.lstContactos.insertarRef(ref usuarioContacto);
            }
        }
Пример #14
0
        public bool eliminar(ref NodoUsuario actual, string dato)
        {
            if (actual == null)
            {
                return(false);
            }
            else if (dato.CompareTo(actual.informacion.nickName) < 0)
            {
                return(eliminar(ref actual.izquierda, dato));
            }
            else if (dato.CompareTo(actual.informacion.nickName) > 0)
            {
                return(eliminar(ref actual.derecha, dato));
            }
            else
            {
                /*------------ parte donde se pregunta si el nodo tiene hojas---------------*/
                NodoUsuario tmp = actual;
                if (tmp.izquierda == null)
                {
                    actual = tmp.derecha;
                    size--;
                    return(true);
                }
                else if (tmp.derecha == null)
                {
                    actual = tmp.izquierda;
                    size--;
                    return(true);
                }
                /*-------------- termina la parte donde pregunta si era hoja o tenia 1 hijo, por lo tanto si tiene hijos*/
                else
                {
                    NodoUsuario tmp2 = tmp.izquierda;
                    while (tmp2.derecha != null)
                    {
                        tmp  = tmp2;
                        tmp2 = tmp2.derecha;
                    }
                    actual.informacion = tmp2.informacion;
                    if (tmp == actual)
                    {
                        tmp.izquierda = tmp2.izquierda;
                    }
                    else
                    {
                        tmp.derecha = tmp2.izquierda;
                    }

                    size--;
                    return(true);
                }
            }
        }
Пример #15
0
        public void insertarAVL(string nickUsuario, string nickname, string password, string email)
        {
            //  avlContactos.insertar(nickname, password, email);
            NodoUsuario nUsuario = usuarioABB.buscar(nickUsuario);

            if (nUsuario != null)
            {
                nUsuario.lstContactos.insertar(nickname, password, email);
            }
            //usuarioABB
        }
Пример #16
0
        public List <string> getListaContactosUsuario(string nickUsuario)
        {
            NodoUsuario   usuario        = usuarioABB.buscar(nickUsuario);
            List <string> listaContactos = new List <string>();

            if (usuario != null)
            {
                usuario.lstContactos.getNickContacto(usuario.lstContactos.raiz, ref listaContactos);
            }
            return(listaContactos);
        }
Пример #17
0
        public bool buscarUsuarioNick(string nickname)
        {
            NodoUsuario buscado = usuarioABB.buscar(nickname);

            if (buscado != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #18
0
 public void recorrerUnidadesDestruidas(ref NodoUsuario actual, ref Top top)
 {
     if (actual != null)
     {
         if (actual.lstJuegos.primero != null)
         {
             int partidas = actual.lstJuegos.unidadesDestruidas();
             actual.informacion.ContUnidadesDestruidas = partidas;
             top.agregar(actual.informacion);
         }
         recorrerUnidadesDestruidas(ref actual.izquierda, ref top);
         recorrerUnidadesDestruidas(ref actual.derecha, ref top);
     }
 }
Пример #19
0
 public void recorrerPreordenTopJuegos(ref NodoUsuario actual, ref Top top)
 {
     if (actual != null)
     {
         if (actual.lstJuegos.primero != null)
         {
             int partidas = actual.lstJuegos.JuegosGanados();
             actual.informacion.partidadGanadas = partidas;
             top.agregar(actual.informacion);
         }
         recorrerPreordenTopJuegos(ref actual.izquierda, ref top);
         recorrerPreordenTopJuegos(ref actual.derecha, ref top);
     }
 }
Пример #20
0
 public void recorrerTopContactos(NodoUsuario actual, ref Top top)
 {
     if (actual != null)
     {
         if (actual.lstContactos.raiz != null)
         {
             int noContactos = 0;
             actual.lstContactos.contadorContactos(ref noContactos);
             actual.informacion.NoContactos = noContactos;
             top.agregar(actual.informacion);
         }
         recorrerTopContactos(actual.izquierda, ref top);
         recorrerTopContactos(actual.derecha, ref top);
     }
 }
Пример #21
0
        public bool addjuegosUsuario(string nickUsuario, string nickOp, int uniDespl, int uniSobrev, int uniDestru, int gano)
        {
            NodoUsuario usuario = usuarioABB.buscar(nickUsuario);

            if (usuario != null)
            {
                Juego nuevoJuego = new Juego(nickOp, uniDespl, uniSobrev, uniDestru, gano);
                usuario.lstJuegos.add(nuevoJuego);
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #22
0
        public bool modificarAVL(string nickUsuario, string nickContacto, string nickMod, string password, string email)
        {
            NodoUsuario usuario = usuarioABB.buscar(nickUsuario);

            if (usuario != null)
            {
                bool modificado = usuario.lstContactos.modificar(nickContacto, nickMod, password, email, ref usuario.lstContactos.raiz);
                if (modificado)
                {
                    return(true);
                }
            }
            return(false);
            //  avlContactos.modificar(nickname,nickMod, password, email, ref avlContactos.raiz);
        }
Пример #23
0
        public bool eliminarNodoAVL(string nickUsuario, string nickContacto)
        {
            NodoUsuario usuario = usuarioABB.buscar(nickUsuario);

            if (usuario != null)
            {
                bool eliminado = usuario.lstContactos.eliminar(nickContacto);
                if (eliminado)
                {
                    return(true);
                }
            }
            return(false);
            //   avlContactos.eliminar(nickname);
        }
Пример #24
0
        public List <string> obtenerInfoUsuario(string nickname)
        {
            List <string> listaInfo = new List <string>();

            NodoUsuario encontrado = usuarioABB.buscar(nickname);

            if (encontrado != null)
            {
                listaInfo.Add(encontrado.informacion.nickName);
                listaInfo.Add(encontrado.informacion.nombre);
                listaInfo.Add(encontrado.informacion.password);
                listaInfo.Add(encontrado.informacion.email);
                listaInfo.Add(encontrado.informacion.conectado.ToString());
            }

            return(listaInfo);
        }
Пример #25
0
        public bool buscarUsuario(string nickname, string password)
        {
            NodoUsuario buscado = usuarioABB.buscar(nickname);

            if (buscado != null)
            {
                if (buscado.informacion.nickName == nickname && buscado.informacion.password == password)
                {
                    return(true);
                }
                return(false);
            }
            else
            {
                return(false);
            }
        }
Пример #26
0
 public NodoUsuario buscar(ref NodoUsuario actual, string dato)
 {
     if (actual != null)
     {
         if (actual.informacion.nickName == dato)
         {
             return(actual);
         }
         else if (dato.CompareTo(actual.informacion.nickName) < 0)
         {
             return(buscar(ref actual.izquierda, dato));
         }
         else if (dato.CompareTo(actual.informacion.nickName) > 0)
         {
             return(buscar(ref actual.derecha, dato));
         }
     }
     return(null);
 }
Пример #27
0
        public bool  insertar(ref NodoUsuario actual, ref Usuario usuario)
        {
            if (actual == null)
            {
                actual = new NodoUsuario(ref usuario);
                size++;
                return(true);
            }
            else if (usuario.nickName.CompareTo(actual.informacion.nickName) < 0)
            {
                return(insertar(ref actual.izquierda, ref usuario));
            }
            else if (usuario.nickName.CompareTo(actual.informacion.nickName) > 0)
            {
                return(insertar(ref actual.derecha, ref usuario));
            }

            return(false);
        }
Пример #28
0
        public List <string> obtenerInfoJuegosUsuario(string nickname, string idJuego)
        {
            List <string> listaJuegos = new List <string>();
            NodoUsuario   usuario     = usuarioABB.buscar(nickname);

            if (usuario != null)
            {
                NodoJuego juego = usuario.lstJuegos.buscar(idJuego);
                if (juego != null)
                {
                    listaJuegos.Add(juego.valor.nicknameOponente);
                    listaJuegos.Add(juego.valor.unidadesDesplegadas.ToString());
                    listaJuegos.Add(juego.valor.unidadesSobrevivientes.ToString());
                    listaJuegos.Add(juego.valor.unidadesDestruidas.ToString());
                    listaJuegos.Add(juego.valor.gano.ToString());
                }
            }
            return(listaJuegos);
        }
Пример #29
0
        public void generarABBEspejo(ref NodoUsuario raiz)
        {
            string estructuraDot = "digraph G{\n";
            string acum          = "";
            string cabecera      = "node [shape = record,height=.1];\n";

            if (raiz != null)
            {
                recorrerABBEspejo(ref raiz, ref acum, ref cabecera);
            }
            estructuraDot += "\n" + cabecera + "\n" + acum + "\n}\n";
            //const string f = "C:\\GrafoEDD\\ABBUsuarios.dot";
            const string f = "C:\\GrafoEDD\\ABBUsuariosEsp.dot";
            StreamWriter w = new StreamWriter(f);

            w.WriteLine(estructuraDot);
            w.Close();
            //generarImagen("C:\\GrafoEDD\\ABBUsuarios.dot" , "C:\\GrafoEDD\\ABBUsuarios.png");
            generarImagen("C:\\GrafoEDD\\ABBUsuariosEsp.dot", "C:\\GrafoEDD\\ABBUsuariosEsp.png");
        }
Пример #30
0
        public bool ModificarJuegosUsuario(string nickUsuario, string idJuego, string nickOp, int uniDespla, int uniSobrev, int uniDestru, int gano)
        {
            NodoUsuario usuario = usuarioABB.buscar(nickUsuario);

            if (usuario != null)
            {
                bool modificado = usuario.lstJuegos.modificar(idJuego, nickOp, uniDespla, uniSobrev, uniDestru, gano);
                if (modificado)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }