Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Cambiando el valor de las variables

La variable que se tendría que cambiar sería la de "numeroSecreto"), ya que esta es la que tiene el "número secreto", sin embargo, esto podría automatizarse, haciendo uso de "Mathrandom()" ya que con esto obtendremos un decimal del 0 - 1(excluido), sin embargo, como mencioné anteriormente, simplemente obtenemos un decimal, y la condición acá es escoger un número del 1 al 10, así que multiplicaremos esta función por 10, dándonos diferentes resultados, ejemplo, si Math.random() nos da 0.740, al multiplicarse por 10, nos daría 7.4, sin embargo, este número sigue siendo decimal, así que usaremos otra función para redondear este número, este es el Math.floor(...), teniendo en cuenta que nuestro decimal fue 7.4, con la función de Math.floor(7.4) obtendríamos un entero de 7, entonces ya tendríamos casi todo listo, salvo el rango actual que va de 0 a 9, pero el ejercicio nos pide la elección de números del 1 al 10, así que simplemente tendríamos que sumar todo +1, ya que podríamos obtener el 0, o como máximo valor el 9, es por eso que debemos sumar +1, en todo caso, para poder obtener valores de 1 al 10, el código con todo y condicionales, quedaría tipo:

alert("Bienvenido al juego");
let eleccion = prompt("Escoga un numero del 1 al 10");
let numeroAleatorio = Math.floor(Math.random()10)+ 1;
//Math.random() -> obtener un valor float de 0 - 1
//Math.random
10 -> Para obtener un decimal entre 0 - 9 (0.3/5.8956/9.9999)
//Math.floor(...) para redondear el valor obtenido, siempre redondea hacía abajo ejemplo: 9.99999 ->9
//Como podemos obtener un número aleatorio de entre 0 - 9 (nunca vamos a obtener 10, y podemos obtener 0) nos vemos en la obligación de sumar +1, es por eso que en el código, añadimos un "+1" al final de todo.
if (eleccion == numeroAleatorio) {
alert("Excelente, número adivinado");
}
else {
alert("No has adivinado el número");
}

1 respuesta

¡Hola Piero, espero que estés bien!

Entiendo que estás trabajando en un juego de adivinanza de números y quieres automatizar el cambio del número secreto en cada ronda. Has explicado muy bien cómo usar Math.random() y Math.floor() para generar un número aleatorio entre 1 y 10. Tu razonamiento es correcto, y el código que has propuesto funcionará para tu propósito.

Para implementar esto en tu juego, debes cambiar la línea donde defines numeroSecreto. En lugar de asignarle un valor fijo como 4, puedes usar tu lógica para generar un número aleatorio. Así, tu código quedaría de la siguiente manera:

alert('Bienvenidos al juego del número secreto');
let eleccion = prompt('Elige un número entre 1 y 10');
let numeroSecreto = Math.floor(Math.random() * 10) + 1;

if (eleccion == numeroSecreto) {
    alert('Adivinaste');
} else {
    alert('No has adivinado el número');
}

Con este cambio, cada vez que se ejecute el juego, numeroSecreto será un número aleatorio entre 1 y 10, lo que hará que el juego sea más dinámico y desafiante.

Espero que esta explicación te sea útil y que disfrutes programando tu juego. ¡Espero haber ayudado y buenos estudios!