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); } }
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()); }