
Mastermind
Recreá el clásico juego Mastermind usando TDD
Nivel:Avanzado
Duración:Larga
Temas:
TDDClean CodeDiseñoOOPSOLIDPatrones de diseñoOutside-InDDDArquitectura
Contexto
Mastermind o Master Mind es un juego de descifrar códigos para dos jugadores. La versión moderna con fichas la inventó en 1970 Mordecai Meirowitz, un jefe de correo y experto en telecomunicaciones israelí. Se parece a un juego anterior de lápiz y papel llamado Bulls and Cows, que puede tener un siglo o más. (Fuente: Wikipedia)
Reglas del juego
- El Mastermind (la computadora) elige 4 colores. Los colores se eligen al azar entre "Red", "Blue", "Green", "Orange", "Purple", "Yellow". Los colores se pueden repetir, pero siempre van a ser exactamente 4.
- Ingresás tu intento (4 colores) y el Mastermind te devuelve un resultado. Por cada color en la posición correcta devuelve un elemento (ficha) "Black". Por cada color correcto pero en la posición equivocada devuelve un elemento "White".
- Si pasás la combinación correcta, devuelve "WON!".
- Tenés 10 oportunidades para adivinar la combinación.
Instrucciones
- Armá una aplicación de consola.
- Tenés que ingresar cada intento (4 colores) y la computadora imprime el resultado (negras y blancas).
- Si llegás a los 10 intentos, el programa imprime GAME OVER y termina.
- Si adivinás la combinación, el programa imprime YOU WON y termina.
- Si ingresás un input inválido (colores desconocidos o una cantidad incorrecta), el programa imprime un error.
Ejemplos
Suponiendo que la combinación correcta es "red, blue, green, yellow".
Welcome to Mastermind!
Try to guess the combination using the colours (red, blue, green, orange, purple, yellow):
> red, orange, yellow, orange
black, whiteSuponiendo que la combinación correcta es "red, blue, green, purple".
Welcome to Mastermind!
Try to guess the combination using the colours (red, blue, green, orange, purple, yellow):
> purple, blue, orange, green
black, white, white
> orange, purple, green, yellow
black, whiteSoluciones
- Kotlin de Nicolás Bottarini