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

08 Math.random() en nuestro código

Me quedo con ésto.

Bien, Leo, ya tenemos una solución para que nuestro sistema, nuestro juego, realice este cálculo de forma automática. Aquí, Leo nos demostró muy bien qué funciones matemáticas proporciona JavaScript, tanto Math.random como Math.floor, que realizan este cálculo entre un número, entre 1 y 10, y que nos proporcionarán y le darán una dinámica mayor a nuestro juego. En realidad, es lo que queremos, que nuestro juego sea automático, que sea la máquina la que nos proporciona ese número y que nuestra persona usuaria tenga ese desafío de adivinar.

Voy a copiar y pegar esto aquí, vamos a traer nuestro código y el punto donde lo vamos a actualizar es donde está la variable numeroSecreto.

Vamos a colocar un console.log, incluso voy a colocarlo después de la creación de las variables, porque quedó frenado, lo vamos a colocar aquí. console.log de numeroSecreto

JavaScript nos provee de una funcionalidad de un método interno que se llama typeof. Entonces podemos hacer el typeof de nuestra variable, en este caso nombre de persona usuaria. Hacemos el typeof y ahora, por ejemplo, yo coloco aquí 3, y mira que me dice que es string (cadena de texto). Tú tenías razón, estamos comparando string con número, porque nuestro número secreto está siendo acelerado como número.

Podemos usar entonces de JavaScript una funcionalidad, un método que está disponible, que se llama parseInt, que nos va a retornar la parte entera de un string, que es lo que estamos recibiendo

numeroDeUsuario = parseInt(prompt("Escribe un número entre 1 y 10: "));

Perfecto, venimos aquí, ahora vamos a jugar, 5, y mira que ya dice number (número). El parseInt convirtió lo que la persona usuaria indicó, que aunque es un número para la persona usuaria, para JavaScript es un string.

Si hablamos un poco de aquella igualdad que era para asignar el doble igual para comparar, existe algo llamado el triple igual, que compara valores y tipos de datos, y eso nos podría traer un problema.

Si quisiéramos hacer un cálculo matemático por ejemplo, o alguna operación con ese prompt que estamos recibiendo, probablemente hubiéramos recibido aquí un error, porque no se trata de un número, se trataba de un string disfrazado, vamos a ponerlo así, como si fuera un número.

1 respuesta

¡Hola Aida!

Entiendo que estás trabajando en la implementación de la función Math.random() en tu juego en JavaScript. Es genial ver cómo estás aplicando estos conceptos en la práctica. La función Math.random() te permite generar un número aleatorio entre 0 (inclusive) y 1 (exclusivo), por lo que si quieres un número aleatorio entre 1 y 10, debes realizar algunos cálculos adicionales.

Aquí te dejo un ejemplo de cómo podrías utilizar Math.random() y Math.floor() para obtener un número aleatorio entre 1 y 10:

let numeroSecreto = Math.floor(Math.random() * 10) + 1;
console.log(numeroSecreto);

En este ejemplo, Math.random() genera un número decimal entre 0 (inclusive) y 1 (exclusivo). Luego, al multiplicarlo por 10, obtenemos un número entre 0 (inclusive) y 10 (exclusivo). Al sumarle 1, nos aseguramos de que el número final esté en el rango de 1 a 10.

Además, es genial que estés utilizando parseInt para convertir la entrada del usuario en un número entero. Esto garantiza que puedas realizar operaciones matemáticas con esa entrada de manera segura.

Espero que este ejemplo te sea útil para implementar la generación de números aleatorios en tu juego. ¡Sigue así y no dudes en preguntar si necesitas más ayuda!

Espero haber ayudado y buenos estudios!