Hola
El srand se utiliza para la generación de números aleatorios, y después rand calcula el número aleatorio. Yo lo utilizo para que el turno al principio sea aleatorio y después lo utilizo para que la máquina reste los objetos aleatoriamente, claro que como dijo antes KaL3o no tiene en cuenta el número de objetos restantes para poder ganar.
Saludos
El srand se utiliza para la generación de números aleatorios, y después rand calcula el número aleatorio. Yo lo utilizo para que el turno al principio sea aleatorio y después lo utilizo para que la máquina reste los objetos aleatoriamente, claro que como dijo antes KaL3o no tiene en cuenta el número de objetos restantes para poder ganar.
Saludos
Ok, muchas gracias por la explicación. Una pregunta referente a esto, que diferencia hay entre usar el srand() y no usarlo?? Es que yo en el ejercicio 6 (en el primer post está el código) utilizo directamente el rand, sin el srand, y genera los números aleatorios...
Claro... mas importante aun que el codigo es la logica
Alli es cuando uno se acuerda de los profes cuando le decian a uno Antes de ponerse a hacer el codigo, dibujen, imaginen y entiendan la logica
Bien como te decia para que la maquina siempre gane, se necesita tener en cuenta el turno del jugador.
A lo que yo me puse a dibujar :p (subiria la imagen de mis matachos, pero el escaner esta ocupado)
mmm... vaya es mas complicado explicarlo que dibujarlo jajajaja
Necesitas qeu el usuario juegue en determinados numeros, como cuando solo hay un objeto.
estos numeros son 1, 5, 9, 13... te das cuenta el incremento es de 4. Cuando tomas todos estos numeros y los divides entre 4 siempre te va a quedar de residuo 1 (tambien conocido como el modulo)
Lo que tienes que hacer es que el usuario solo pueda jugar cuando esten esas cantidades de numeros.
digamos que se elige el numero 12 para jugar, como el 12%4=0, entonces debo hacer que la maquina juegue primero y me convierta esos 12 objetos en 9 (puesto que 9%4=1, y el 9 es menor que 12)
Ahora el jugador puede restar 1,2 o 3. Si el resta 1 quedara en 8, y a nosotros nos conviene que el siguiente numero sea 5, asi que el computaador restara 3. Si el user resta 2 nosotros restaremos 2 para que la cantidad de objetos sea 5, y si el user resta 3 la maquina debera restar 1 para que quede el numero que nos conviene, el 5.
(cuando restamos estamos completando 4)
Biena ahora en el 5 juega el usuario por lo que puede restar 1, 2 o 3, nostros (la maquina) debera completar la resta para restar 4, asi el usuario quedara con la ultima ficha.
En si lo que hay es que forzar al usuario a jugar cuando la cantidad de objetos divida entre 4 tenga por residuo 1. Y despues de ello completar la resta de 4.
Trate de explicar lo mejor que pude. Si luego me acuerdo subo mis matachos que son mas entendibles :p
Salu2
En el codigo de satu el srand() es para generar numeros aleatorios, ya la linea completa esta asignando a resta un numero entre 1 y 3
Alli es cuando uno se acuerda de los profes cuando le decian a uno Antes de ponerse a hacer el codigo, dibujen, imaginen y entiendan la logica
Bien como te decia para que la maquina siempre gane, se necesita tener en cuenta el turno del jugador.
A lo que yo me puse a dibujar :p (subiria la imagen de mis matachos, pero el escaner esta ocupado)
mmm... vaya es mas complicado explicarlo que dibujarlo jajajaja
Necesitas qeu el usuario juegue en determinados numeros, como cuando solo hay un objeto.
estos numeros son 1, 5, 9, 13... te das cuenta el incremento es de 4. Cuando tomas todos estos numeros y los divides entre 4 siempre te va a quedar de residuo 1 (tambien conocido como el modulo)
Lo que tienes que hacer es que el usuario solo pueda jugar cuando esten esas cantidades de numeros.
digamos que se elige el numero 12 para jugar, como el 12%4=0, entonces debo hacer que la maquina juegue primero y me convierta esos 12 objetos en 9 (puesto que 9%4=1, y el 9 es menor que 12)
Ahora el jugador puede restar 1,2 o 3. Si el resta 1 quedara en 8, y a nosotros nos conviene que el siguiente numero sea 5, asi que el computaador restara 3. Si el user resta 2 nosotros restaremos 2 para que la cantidad de objetos sea 5, y si el user resta 3 la maquina debera restar 1 para que quede el numero que nos conviene, el 5.
(cuando restamos estamos completando 4)
Biena ahora en el 5 juega el usuario por lo que puede restar 1, 2 o 3, nostros (la maquina) debera completar la resta para restar 4, asi el usuario quedara con la ultima ficha.
En si lo que hay es que forzar al usuario a jugar cuando la cantidad de objetos divida entre 4 tenga por residuo 1. Y despues de ello completar la resta de 4.
Trate de explicar lo mejor que pude. Si luego me acuerdo subo mis matachos que son mas entendibles :p
Salu2
En el codigo de satu el srand() es para generar numeros aleatorios, ya la linea completa esta asignando a resta un numero entre 1 y 3
Muchas gracias por la explicación, es más o menos lo que había entendido. Ahora lo que me falta es que se me ocurra a mi ese tipo de soluciones xD
Gracias a ambos por vuestra paciencia.