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

Desafío: juego de adivinación

Hola, este es mi código del desafío:

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

public class Adivinacion {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        Random generador = new Random();

        int numeroSecreto = generador.nextInt(101); // de 0 a 100 inclusive
        int maxIntentos = 5;
        int intentosRealizados = 0;

        System.out.println("Bienvenido al juego de adivinanza.");
        System.out.println("Tienes " + maxIntentos + " intentos para adivinar un número entre 0 y 100.");

        while (intentosRealizados < maxIntentos) {
            System.out.print("Escribe tu intento #" + (intentosRealizados + 1) + ": ");
            int intentoUsuario = entrada.nextInt();
            intentosRealizados++;

            if (intentoUsuario == numeroSecreto) {
                System.out.println("¡Lo lograste! Adivinaste el número en " + intentosRealizados + " intento(s).");
                break;
            } else if (intentoUsuario < numeroSecreto) {
                System.out.println("El número es más alto.");
            } else {
                System.out.println("El número es más bajo.");
            }
        }

        if (intentosRealizados == maxIntentos && numeroSecreto != -1) {
            System.out.println("Se acabaron los intentos. El número era: " + numeroSecreto);
        }

        entrada.close();
    }
}
1 respuesta

¡Hola Diego, espero que estés bien!

Tu código para el desafío del juego de adivinación se ve muy bien y parece que cumple con los requisitos del ejercicio. Generas un número aleatorio entre 0 y 100, permites al usuario hacer hasta 5 intentos, y le das pistas sobre si el número es más alto o más bajo. Además, manejas correctamente el caso en el que se acaban los intentos.

Una pequeña sugerencia para mejorar la claridad del código es eliminar la condición && numeroSecreto != -1 en la línea que imprime el mensaje cuando se acaban los intentos, ya que el número secreto nunca será -1. Esto no afecta el funcionamiento, pero hace que el código sea un poco más limpio.

Aquí te dejo cómo quedaría esa parte:

if (intentosRealizados == maxIntentos) {
    System.out.println("Se acabaron los intentos. El número era: " + numeroSecreto);
}

Fuera de eso, ¡tu implementación está excelente! Espero que te diviertas con este juego de adivinación.

Espero haber ayudado y buenos estudios!