El juego Mastermind en Java trata de hacer una implementación, por consola, de un juego del mismo nombre pero con algunas modificaciones. Es algo así:
Realizar el juego en Java por consola en donde el programa piense una contraseña aleatoria (el usuario puede elegir si la misma puede o no contener repetidos, la clave serán dígitos del 0 al 9) y el usuario trate de adivinarla.
Si el usuario no acierta, el programa debe dar pistas por cada dígito de la contraseña:
*
como pista_
Cuando el usuario acierte la contraseña se debe indicar el número de intentos.
Veamos cómo implementar este juego en Mastermind en Java; será muy fácil y entretenido.
Comencemos viendo el método que va a generar la contraseña aleatoria que el usuario debe adivinar. Se ve así:
Es una función que recibe un parámetro indicando si la contraseña debería contener repetidos, en caso de que no, generamos un nuevo carácter aleatorio mientras ese ya exista.
Como ves, la cadena aleatoria solo tendrá dígitos del 0 al 9 según la muestra de la línea 2.
El método también recibe un argumento indicando la longitud deseada de la contraseña.
Ahora veamos los métodos que sirven para obtener las preferencias del usuario. En primer lugar vamos a preguntarle si la contraseña puede contener caracteres repetidos.
En segundo lugar vamos a ver un método para obtener la suposición del usuario, es decir, la contraseña que cree que es.
Para todo esto vamos a usar un Scanner en Java.
Estamos separando todo en métodos así la programación será más sencilla.
Otro método importante es aquel para obtener las pistas y mostrarlas al usuario, es decir, obtener una cadena que tendrá un asterisco, guión bajo o espacio en blanco.
Para ello he diseñado el siguiente método que recibe la contraseña original y verifica. Al inicio declaro una cadena vacía que contendrá las pistas; después simplemente recorro la cadena y compruebo las tres opciones posibles:
De este modo al final tendremos una cadena con pistas.
Y finalmente veamos cómo se hace el loop o ciclo para jugar, además de los intentos en el método Main:
Utilizamos los métodos mencionados anteriormente y hacemos un ciclo infinito en la línea 13. Después, comprobamos si lo que el usuario ingresó coincide con la contraseña usando el método equals en Java.
Cuando el usuario acierta, se indican los intentos. En caso de que no acierte, se suma el número de intentos y se vuelven a obtener las pistas para la suposición que fue brindada por el usuario,
Ahora veamos el código completo poniendo juntos todos los métodos. Queda como se ve a continuación:
Si quieres puedes ejecutarlo directamente en este enlace: jugar en línea.
Yo lo he jugado y probado un poco, aquí mis resultados:
Dejo algunos enlaces de interés. Te invito a ver más tutoriales sobre Java o ver el código fuente de videojuegos.
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Esta web usa cookies.