public ArbolGeneral <int> InstalacionHeuristica(ArbolGeneral <int> ArbolMiniMax, bool Turno, int limite) { //Si mi funcion Heuristica, es decir si la base de mi ABGeneral tiene "getDatoRaiz=-1" gana Usuario //si tiene "getDatoRaiz=-2" gana Maquina... if (limite < 0) { //En el nodo de mi arbol que se sobrepase el limite se corta y se debe poner como hijo de este el dato heuristico (-1 gano maquina,-2 gano usuario) //dependiendo de quien sea el turno. if (Turno == true) { ArbolMiniMax.ConvertirEnHoja(); //El nodo en el que se alcanza el limite se convierte en Hoja y en este se agrega el dato heuristico ArbolGeneral <int> Heuristic = new ArbolGeneral <int>(-1); ArbolMiniMax.agregarHijo(Heuristic); } else { ArbolMiniMax.ConvertirEnHoja(); ArbolGeneral <int> Heuristic = new ArbolGeneral <int>(-2); ArbolMiniMax.agregarHijo(Heuristic); } } //Mientras no se supere el limite recorro los hijos de mi nodo else { foreach (var hijo in ArbolMiniMax.getHijos()) { int LimiteAux = limite - hijo.getDatoRaiz(); InstalacionHeuristica(hijo, !Turno, LimiteAux); } } return(ArbolMiniMax); }