
Bueno, pues aprovechando que estoy empezando con esto del Java he hecho un pequeño programa que funciona como un juego. El código genera un número aleatorio entre 1 y 100 y el jugador dispone de 5 intentos para averiguar cuál es. El programa te indica con cada intento su estás por debajo o por encima del número secreto, te da una pista antes del cuarto intento y te avisa de la última oportunidad. Este es mi código:
import java.util.Scanner;
public class JavaApplication1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = (int) ((Math.random() * 100)+1); // Número aleatorio de 1 a 100.
int b; // Número introducido por el usuario.
int i; // Contador para bucle for.
System.out.println("El juego consiste en averiguar un número secreto de 100 posibles.");
System.out.print("Tienes 5 intentos. Escribe un número entre 1 y 100: ");
b = sc.nextInt();
for (i=0; i<=4; i++) {
// Primero se evalúa si se ha acertado.
if (a == b) {
System.out.println("¡Has acertado!");
break; }
// Luego da la partida por perdida si ya has gastado 5 intentos.
else if (i == 4) {
System.out.println("Lo siento: ¡has perdido!. El número era el: " + a);
break; }
// Si no es ninguno de los casos anteriores, comparamos números.
else if (a > b)
System.out.println("El número secreto es MAYOR que " + b);
else if (a < b)
System.out.println("El número secreto es MENOR que " + b);
// Por último un bucle if que sirve para dar una pista y avisarte de la última oportunidad.
if (i <=1) {
System.out.print("Otro intento: ");
b = sc.nextInt(); }
else if (i ==2) {
int x = (int) (a/10);
System.out.println("Una pista, la primera cifra es " + x);
System.out.print("Inténtalo de nuevo: ");
b = sc.nextInt(); }
else if (i >= 3) {
System.out.print("Oh, oh... ÚLTIMO intento: ");
b = sc.nextInt(); }
}
}
}
No es un código complicado y estoy convencido que mucha gente podría hacerlo de forma más eficiente (con un do-while, por ejemplo), pero funcionar funciona perfectamente y estoy satisfecho con ello.
A diferencia del código «básico» que podría valer para el juego, éste tiene las siguientes particularidades:
- Tiene un número limitado de intentos, en este caso 5, lo que lo hace más interesante de jugar.
- Te da una pista después de tercer intento: la primera cifra.
- Te avisa de la última oportunidad.
- Te da la solución en caso de perder.
- El juego abarca del 1 al 100 en lugar del 0 al 99 que es la salida por defecto de Math.random() * 100.

Compílalo y comprueba que… ¡no es nada fácil ganar!
Una respuesta a “Código del juego de adivinar un número aleatorio en Java”