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

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

public class adivinazas {

public static void main(String[] args) {

    Scanner numero=new Scanner(System.in);

    System.out.println("bienvenido a tu juego de adivinanzas, intenta adivinar un numero");
    Random numeroaletorio=new Random();
    int numer=numeroaletorio.nextInt(100);
    System.out.println("generado por ramdon = "+ numer);


    int contador =1;
    while (contador<=5){
        System.out.println("digita el numero");
        int num=numero.nextInt();
        contador++;
       
        if (contador>5) {
            System.out.println("no lo lograste, pasaste el numero de intentos el numero era= " + numer);
            break;

        }
        else if (num==numer){
            System.out.println("lo lograste,el numero es = "+ numer);
            break;
        }  else if (num>numer){
            System.out.println("EL NUMERO ES MENOR = ");
        }
        else if (num<numer){

            System.out.println("EL NUMERO ES MAYOR ");
        }




    }


}

}

1 respuesta

Hola Alfredo, espero que estés bien

¡Qué emocionante que estés trabajando en un juego de adivinanzas! He revisado tu código y parece que está bastante bien encaminado. Sin embargo, hay un pequeño detalle que podrías ajustar para mejorar la lógica del juego.

Actualmente, el código incrementa el contador antes de verificar si el número de intentos ha sido excedido. Esto significa que el mensaje de "no lo lograste" se mostrará incluso si el usuario adivina correctamente en el último intento permitido. Para solucionar esto, deberías incrementar el contador después de verificar si el número es correcto o no. Aquí tienes una versión ajustada de tu código:

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

public class adivinazas {

    public static void main(String[] args) {

        Scanner numero = new Scanner(System.in);

        System.out.println("bienvenido a tu juego de adivinanzas, intenta adivinar un numero");
        Random numeroaletorio = new Random();
        int numer = numeroaletorio.nextInt(100);
        System.out.println("generado por random = " + numer);

        int contador = 1;
        while (contador <= 5) {
            System.out.println("digita el numero");
            int num = numero.nextInt();

            if (num == numer) {
                System.out.println("lo lograste, el numero es = " + numer);
                break;
            } else if (num > numer) {
                System.out.println("EL NUMERO ES MENOR");
            } else {
                System.out.println("EL NUMERO ES MAYOR");
            }

            contador++;

            if (contador > 5) {
                System.out.println("no lo lograste, pasaste el numero de intentos, el numero era = " + numer);
            }
        }
    }
}

Con este ajuste, el contador solo se incrementa después de verificar si el número es correcto o no, lo que permite que el mensaje de "no lo lograste" solo se muestre cuando realmente se han agotado todos los intentos.

Espero que esto te ayude a mejorar tu juego de adivinanzas. ¡Bons estudos!