Exemple #1
0
        public void llenarArbol(ArbolGeneral <int> nodoCarta, List <int> cartasPropias, List <int> cartasOponente)
        {
            List <int> naipesNoJugados = new List <int>(cartasPropias);

            naipesNoJugados.Remove(nodoCarta.getDatoRaiz());
            foreach (int cartaOponente in cartasOponente)
            {
                ArbolGeneral <int> nodoCartaOponente = new ArbolGeneral <int>(cartaOponente);
                llenarArbol(nodoCartaOponente, cartasOponente, naipesNoJugados);
                nodoCarta.agregarHijo(nodoCartaOponente);
            }
        }
        public int altura(ArbolGeneral <int> arbol)
        {
            NodoGeneral <int> nodo = arbol.getRaiz();
            int alturaMaxima       = 0;
            int alturaTemporal;

            if (nodo == null)
            {
                return(alturaMaxima);
            }
            else
            {
                for (int i = 0; i < nodo.getHijos().Count; i++)
                {
                    alturaTemporal = altura(arbol.getHijos()[i]);
                    if (alturaTemporal > alturaMaxima)
                    {
                        alturaMaxima = alturaTemporal;
                    }
                }
                return(alturaMaxima);
            }
        }
Exemple #3
0
 public ComputerPlayer()
 {
     arbol = new ArbolGeneral <int>(-1);
 }
 public void eliminarHijo(ArbolGeneral <T> hijo)
 {
     this.raiz.getHijos().Remove(hijo.getRaiz());
 }
 public void agregarHijo(ArbolGeneral <T> hijo)
 {
     this.raiz.getHijos().Add(hijo.getRaiz());
 }