public void Creararbol(NodoGeneral <int> nodopadre, List <int> a, List <int> b, bool miTurno, int tope) { for (int i = 0; i < a.Count; i++) { List <int> AuxA = Juego.copiar(a); int cartaAJugar = a[i]; AuxA.Remove(cartaAJugar); NodoGeneral <int> Nuevohijo = new NodoGeneral <int>(cartaAJugar); nodopadre.setHijos(Nuevohijo); if (!miTurno && ((tope - cartaAJugar) < 0)) { Nuevohijo.Datsec = 1; } else { if ((tope - cartaAJugar) == 0) { Nuevohijo.Datsec = 1; } else if ((tope - cartaAJugar) > 0) { Creararbol(Nuevohijo, b, AuxA, !miTurno, (tope - cartaAJugar)); } } } }
public void crearArbol(NodoGeneral <int> raiz, List <int> Cusuario, List <int> Coponente, bool miTurno, int tope) { for (int i = 0; i < Cusuario.Count; i++) { //mi turno esta en false juega el usuario List <int> cartasRepetidas = fotocopia(Cusuario); int cartaSeleccionada = Cusuario[i]; cartasRepetidas.Remove(cartaSeleccionada); NodoGeneral <int> Nuevohijo = new NodoGeneral <int>(cartaSeleccionada); raiz.setHijos(Nuevohijo); // if(!miTurno && ((tope-cartaSeleccionada) < 0)) // { // Nuevohijo.perdioComputer=1; // } if (miTurno && ((tope - cartaSeleccionada) < 0)) { Nuevohijo.PerdioUsuario = 1; } // if(miTurno && ((tope-cartaSeleccionada) == 0)) // { // Nuevohijo.perdioComputer=1; // } if (!miTurno && ((tope - cartaSeleccionada) == 0)) { Nuevohijo.PerdioUsuario = 1; } else { crearArbol(Nuevohijo, Coponente, cartasRepetidas, !miTurno, (tope - cartaSeleccionada)); } } }