Curso Java. Bucles II. Vídeo 19
¿Cómo crear un juego de adivinanza en Java?
Introducción al juego
- El curso de programación en Java se centra en el uso de bucles, específicamente el bucle While. Se presenta un nuevo ejemplo más complejo: un juego para adivinar un número aleatorio entre 0 y 100.
Funcionamiento del juego
- El programa generará un número aleatorio que el usuario debe adivinar. Por ejemplo, si el número es 70 y el usuario introduce 40, el programa indicará que el número es más alto.
Configuración del entorno
- Se utilizará Eclipse como entorno de desarrollo. Se cierra la clase anterior y se crea una nueva llamada "AdivinaNúmero", donde se construirá el método Main.
Uso de la consola y clases necesarias
- La consola será utilizada tanto para introducir números como para recibir pistas sobre si los intentos están cerca o lejos del número objetivo. Se importará la clase Scanner del paquete
java.util.
Generación de números aleatorios
- Para generar un número aleatorio entre 0 y 100, se usará el método Random perteneciente a la clase Math. Este método devuelve valores entre 0 y 1.
Comprendiendo la API de Java
- Al explorar la API de Java, se encuentra que
Math.random()genera números decimales entre 0 (incluido) y 1 (excluido). Esto no es lo que se necesita para este juego.
Ajustando los números generados
- Para obtener un número entero entre 0 y 100, se multiplicará el resultado por 100. Esto desplazará la coma decimal dos lugares hacia la derecha.
Ejecución del código inicial
- Al ejecutar una línea simple con
System.out.println(Math.random()), se observa que efectivamente genera números aleatorios entre 0 y 1 cada vez que se ejecuta.
Solucionando problemas con tipos numéricos
Generación de Números Aleatorios en Java
Introducción a la Generación de Números Aleatorios
- Se explica cómo multiplicar un número generado por
Math.random()para obtener un valor entre 0 y 100, desplazando la coma decimal.
- Se menciona que el objetivo es generar un número entero, no decimal, lo que lleva a la necesidad de realizar una refundición.
Refundición de Tipos de Datos
- Se introduce el concepto de refundición, donde se convierte un tipo de dato doble (decimal) en un entero.
- La sintaxis utilizada para la refundición es
int, aplicándose al resultado deMath.random() * 100.
Almacenamiento y Visualización del Número Aleatorio
- El número aleatorio convertido se almacena en una variable entera llamada "aleatorio".
- Se utiliza
System.out.printpara mostrar el número aleatorio generado en consola, confirmando que cumple con el rango deseado.
Interacción con el Usuario
- Se crea un objeto
Scannerpara permitir la entrada del usuario desde la consola.
- Se declaran variables adicionales: "número" (inicializada a cero) e "intentos" (también inicializada a cero).
Bucle While y Comparaciones
- Comienza la construcción del bucle
while, que continuará mientras "número" sea diferente del valor aleatorio generado.
- Dentro del bucle, se solicita al usuario que introduzca un número mediante
System.out.println.
Evaluación de Resultados
- Una vez ingresado el número, se evalúa si es mayor o menor que el número aleatorio generado.
¿Cómo funciona un programa de adivinanza de números?
Introducción al programa
- Se cierra la llave del bucle
whiley se introduce un mensaje que indica el inicio del proceso.
- El programa debe generar un número aleatorio entre 0 y 100, almacenándolo en la variable
aleatorio.
Estructura del bucle
- Se crean dos variables enteras inicializadas a cero; una de ellas se utilizará más adelante.
- El programa solicita al usuario que introduzca un número, evaluando si es diferente al número aleatorio generado.
Proceso de adivinanza
- Si el número ingresado no coincide con el aleatorio, se evalúa si es menor o mayor, proporcionando pistas al usuario.
- Ejemplo: Si el usuario ingresa 50 y el número es mayor, se le informa que está entre 50 y 100.
Finalización del juego
- El juego continúa hasta que el usuario adivina correctamente; por ejemplo, si acierta con 82, finaliza la ejecución.
Contador de intentos
- Cada vez que se entra en el bucle
while, se cuenta como un intento. La variableintentosse incrementa cada vez que hay un fallo.
- Al finalizar, se muestra cuántos intentos fueron necesarios para acertar el número.
Ejecución del programa
- Se realiza una prueba del programa donde varios números son introducidos hasta llegar a la respuesta correcta en 8 intentos.