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

[Proyecto] Juego adivinanza

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

public class NumeroAleatorio {
public static void main(String[] args) {

    Random random = new Random();
    int numeroSecretoPorAdivinar = random.nextInt(100);
    int intentos = 0;
    int numeroMaximoIntentos = 5;
    Scanner Teclado = new Scanner(System.in);
    System.out.println("*********************************************************************************************");
    System.out.println("Es un gusto presentarle el juego adivina el numero" +
            "\npara ello  tienes 5 intentos para ganar y en caso\n contrario pierdes el juego");
    System.out.println("--------------------------------------------------------------------------------------------");
    while (intentos < numeroMaximoIntentos) {
        System.out.println("ingresa un numero para adivinar:");

int numeroUsuario = Teclado.nextInt();
intentos++;
if (numeroUsuario == numeroSecretoPorAdivinar) {
System.out.println("Felicidades adivinaste el numero");

}else {
System.out.println("Vuelve a intentarlo");

}

if (numeroUsuario < numeroSecretoPorAdivinar){
System.out.println("El numero por adivinar es mayor");
}else{
System.out.println("El numero por adivinar es menor");

}

        }
    System.out.println("El NUMERO SECRETO ERA:" + "" + numeroSecretoPorAdivinar);
    }

}
1 respuesta

Hola Luis, espero que estés bien

¡Qué emocionante que estés trabajando en un juego de adivinanza! Tu código se ve bastante bien y ya tienes la estructura básica para que funcione. Sin embargo, he notado que hay un pequeño ajuste que podrías considerar para mejorar la experiencia del juego.

Actualmente, el programa siempre muestra si el número es mayor o menor después de cada intento, incluso si el usuario adivina correctamente. Esto puede ser un poco confuso. Para solucionarlo, puedes mover la parte que verifica si el número es mayor o menor dentro del bloque else, de esta manera solo se ejecutará cuando el usuario no haya adivinado correctamente. Aquí te dejo un ejemplo de cómo podrías hacerlo:

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

public class NumeroAleatorio {
    public static void main(String[] args) {
        Random random = new Random();
        int numeroSecretoPorAdivinar = random.nextInt(100);
        int intentos = 0;
        int numeroMaximoIntentos = 5;
        Scanner Teclado = new Scanner(System.in);
        System.out.println("*********************************************************************************************");
        System.out.println("Es un gusto presentarle el juego adivina el numero" +
                "\npara ello  tienes 5 intentos para ganar y en caso\n contrario pierdes el juego");
        System.out.println("--------------------------------------------------------------------------------------------");
        while (intentos < numeroMaximoIntentos) {
            System.out.println("Ingresa un numero para adivinar:");
            int numeroUsuario = Teclado.nextInt();
            intentos++;
            if (numeroUsuario == numeroSecretoPorAdivinar) {
                System.out.println("Felicidades adivinaste el numero");
                break; // Termina el juego si adivina correctamente
            } else {
                System.out.println("Vuelve a intentarlo");
                if (numeroUsuario < numeroSecretoPorAdivinar) {
                    System.out.println("El numero por adivinar es mayor");
                } else {
                    System.out.println("El numero por adivinar es menor");
                }
            }
        }
        if (intentos == numeroMaximoIntentos && numeroSecretoPorAdivinar != numeroUsuario) {
            System.out.println("El NUMERO SECRETO ERA: " + numeroSecretoPorAdivinar);
        }
    }
}

Con este cambio, si el usuario adivina el número correctamente, el juego terminará inmediatamente sin dar pistas adicionales. Además, se asegura de que el mensaje final con el número secreto solo se muestre si el usuario no lo adivinó después de todos los intentos.

Espero que esto te ayude a mejorar tu juego. ¡Sigue practicando y divirtiéndote con Java!

Espero haber ayudado y buenos estudios!