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

Ejercicio juego de adivinación en Java

Quiero compartir con usted mi código, espero sus críticas constructivas.

import java.util.Random;
import java.util.Scanner;

public class JuegoAdivinanza {
public static void main(String[] args) {
/*Para generar un número aleatorio en Java: new Random().nextInt(100);

Utiliza el Scanner para obtener los datos del usuario.

Utiliza una variable para contar los intentos.

Utiliza un bucle para controlar los intentos.

Utiliza la instrucción ‘break;’ para salir del bucle.*/
Scanner datosEntrada = new Scanner(System.in);

    int rango = 25;
    int numeroSecreto = new Random().nextInt(rango);
    int intentosDisminuir = 5;
    int intentosAumentar = 1;
    int intentoUsuario = 0;

    System.out.println("Hola! Bienvenido al juego del número secreto. El juego trata sobre adivinar el número secreto en tres intentos");
    System.out.println("Estas Listo?");
    datosEntrada.nextLine();
    System.out.println("Muy bien! Vamos a ello");
    System.out.println("Cual es el número secreto entre 0 y " + rango + "? Tienes " + intentosDisminuir + " intentos");

    while (intentoUsuario != numeroSecreto) {

        intentoUsuario = datosEntrada.nextInt();
        intentosDisminuir--;

        if (intentoUsuario == numeroSecreto) {
            System.out.println("Felicidades! Haz adivinado el número secreto en " + intentosAumentar + " intentos");

        } else {

            if(intentoUsuario > numeroSecreto) {
                System.out.println("El número secreto es menor. Te quedan " + intentosDisminuir + " intentos");
            } else {
                System.out.println("El número secreto es mayor. Te quedan " + intentosDisminuir + " intentos");
            }

            intentosAumentar++;

            if(intentosDisminuir < 1) {
                System.out.println("Te haz quedado sin intentos, el número secreto era: " + numeroSecreto + ". Intentalo nuevamente");
                break;
            }
        }

    }
}

}

1 respuesta

¡Hola Jhonatan, espero que estés bien!

Gracias por compartir tu código del juego de adivinación en Java. Me alegra que estés trabajando en este proyecto. Aquí te dejo algunas observaciones y sugerencias que podrían ayudarte a mejorar tu código:

  1. Claridad en el Mensaje Inicial: Has mencionado que el usuario tiene tres intentos, pero en realidad has configurado cinco intentos (intentosDisminuir = 5). Asegúrate de que el mensaje inicial refleje el número correcto de intentos para evitar confusiones.

  2. Uso del Scanner: Es una buena práctica cerrar el objeto Scanner después de usarlo para liberar recursos. Puedes hacerlo al final del programa con datosEntrada.close();.

  3. Comentarios: Los comentarios al principio del código están bien, pero sería útil agregar comentarios adicionales dentro del código para explicar partes específicas, especialmente si alguien más va a leer o mantener el código.

  4. Validación de Entrada: Considera agregar una validación para asegurarte de que el usuario ingrese un número dentro del rango esperado (0 a rango). Esto puede prevenir errores si el usuario ingresa un valor no numérico o fuera del rango.

  5. Mejora de la Lógica del Juego: Si deseas hacer el juego más interesante, podrías considerar agregar niveles de dificultad ajustando el rango y los intentos permitidos según el nivel seleccionado por el usuario.

Aquí tienes un pequeño ejemplo de cómo podrías manejar la validación de entrada:

while (intentoUsuario != numeroSecreto) {
    System.out.println("Introduce un número entre 0 y " + rango + ":");
    if (datosEntrada.hasNextInt()) {
        intentoUsuario = datosEntrada.nextInt();
        // Resto de tu lógica aquí...
    } else {
        System.out.println("Por favor, introduce un número válido.");
        datosEntrada.next(); // Limpiar la entrada no válida
    }
}

Espero que estas sugerencias te sean útiles. ¡Sigue practicando y divirtiéndote con Java! Espero haber ayudado y buenos estudios!