Cargando



Java - Juego, Adivinar el Cumpleaños

En este tutorial vamos elaborar el juego de adivinar el cumpleaños, para ello utilizaremos todo lo aprendido hasta ahora y además vamos a introducir un nuevo elemento que es el cuadro de dialogo de confirmación.


abr 19 2014 03:56
Avanzado
abr 21 2014 19:38
Existe un pequeño juego en el cual se colocan unas fechas de cumpleaños en cierto orden, entonces le vamos preguntando a la persona si su fecha de cumpleaños está en alguna de esas fechas mencionadas, dependiendo de su respuesta vamos haciendo operaciones de suma, al final obtendremos un número que será el número del día de cumpleaños de la persona.

Cuadro de Dialogo de Confirmación

Antes de empezar con el desarrollo del código del juego, primero debemos familiarizarnos con la herramienta que vamos a utilizar, en este caso es el cuadro de dialogo de confirmación, este cuadro lo que hace es presentar un mensaje con 3 opciones: Si, No y Cancelar, cuando el usuario hace click en Si o No e inclusive en Cancelar recibiremos una respuesta que podremos utilizar en nuestro programa como parámetro para evaluar nuestras condiciones.

La sintaxis para utilizar este cuadro de dialogo es muy sencilla, veamos el siguiente código:

int option = JOptionPane.showConfirmDialog(null, "Continuar");

Declaramos una variable a la cual le vamos a asignar el valor de la respuesta del cuadro y en la inicialización del cuadro le colocamos el mensaje que queremos que el usuario vea. Como podemos notar es muy sencilla esta implementación.

El Juego

Vamos a lograr adivinar el día de nacimiento de la persona a través de 5 preguntas, la idea es que vamos a sumar una cantidad dependiendo de dónde aparezca la fecha de la persona, así pues si el día de nacimiento es el 19 debe responder que si a la pregunta 1, 2 y 5, y entonces sumamos 1 + 2+ 16 ya que esos son los valores por los que inician las preguntas, veamos en la imagen a que nos referimos:

java_juego_cumple.jpg


Como vemos es algo bastante sencillo, pero que lleva un poco de código para lograr automatizarlo, la idea es que aparezca cada grupo de fechas en un cuadro de dialogo de confirmación diferente y utilizaremos el Si y el No para lograr “adivinar” la fecha.

Veamos el código fuente:

import javax.swing.JOptionPane;
public class AdivinaCumple {
		 public static void main(String[] args) {
		 //Preparamos las Preguntas
					 String set1 =
								 " 1 3 5 7\n" +
								 " 9 11 13 15\n" +
								 "17 19 21 23\n" +
								 "25 27 29 31";
					 String set2 =
								 " 2 3 6 7\n" +
								 "10 11 14 15\n" +
								 "18 19 22 23\n" +
								 "26 27 30 31";
					 String set3 =						
								 " 4 5 6 7\n" +
								 "12 13 14 15\n" +
								 "20 21 22 23\n" +
								 "28 29 30 31";
					 String set4 =
								 " 8 9 10 11\n" +
								 "12 13 14 15\n" +
								 "24 25 26 27\n" +
								 "28 29 30 31";
					 String set5 =
								 "16 17 18 19\n" +
								 "20 21 22 23\n" +
								 "24 25 26 27\n" +
								 "28 29 30 31";
		 //Construimos la lógica
					 int day = 0;
					 //Primer Set
					 int answer = JOptionPane.showConfirmDialog(null,"Esta tu dia de Cumple aqui?\n" + set1);
					 if (answer == JOptionPane.YES_OPTION)
								 day += 1;
					 //Segundo Set
					 answer = JOptionPane.showConfirmDialog(null,"Esta tu dia de Cumple aqui?\n" + set2);
					 if (answer == JOptionPane.YES_OPTION)
								 day += 2;
					 //Tercero Set
					 answer = JOptionPane.showConfirmDialog(null,"Esta tu dia de Cumple aqui?\n" + set3);
					 if (answer == JOptionPane.YES_OPTION)
								 day += 4;
					 //Cuarto Set
					 answer = JOptionPane.showConfirmDialog(null,"Esta tu dia de Cumple aqui?\n" + set4);
					 if (answer == JOptionPane.YES_OPTION)
								 day += 8;
					 //Quinto Set
					 answer = JOptionPane.showConfirmDialog(null,"Esta tu dia de Cumple aqui?\n" + set5);
					 if (answer == JOptionPane.YES_OPTION)
								 day += 16;
					 JOptionPane.showMessageDialog(null, "Tu dia de cumple es: " + day + "!");
		 }
}

Como vemos es un poco extenso debido a la cantidad de números que debemos imprimir sin embargo al compilar y ejecutar obtendremos un juego muy divertido, veamos el ejemplo corriendo, supongamos que la fecha que queremos es 26, debemos decir que Si a las preguntas 2, 4 y 5 lo que nos debería sumar 2 + 8 + 16 = 26, veamos el resultado en la siguiente imagen de nuestro programa:



Con esto finalizamos este tutorial, ya hemos creado un juego que nos hace utilizar todos nuestros conocimientos adquiridos y además nos enseña a utilizar los cuadros de confirmación.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X