

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Una práctica de programación llamada 'mastermind', donde el objetivo es adivinar un código secreto compuesto por una sucesión de colores. El jugador debe introducir hipótesis y recibir pistas sobre cuántos colores están bien colocados y cuántos no. El código puede tener colores repetidos o no, según la modalidad elegida. El documento incluye un ejemplo de ejecución y detalles de implementación.
Tipo: Apuntes
1 / 3
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!


Fecha de entrega: 14 de enero de 2018
“ Mastermind ” es un conocido juego de ingenio para dos jugadores. En cada partida, uno de ellos elige un código compuesto por una sucesión de colores que el oponente debe descubrir. Para eso, ante cada hipótesis propuesta, el primer jugador debe indicar cuántos de los colores aventurados están colocados en sus posiciones correctas, y cuántos están descolocados. El número de colores disponibles y la longitud del código depende de la variante del juego. Nosotros usaremos los colores rojo (R), azul (Z), verde (V), amarillo (A), marrón (M) y blanco (B). Los códigos tendrán una longitud de 4 colores. A modo de ejemplo, la siguiente tabla muestra las respuestas para varias hipótesis si el código oculto fuera BBMM:
Hipótesis Colocados Descolocados
RZVA (^0 ) RRBR (^0 ) RBRR 1 0 MMMM (^2 )
El ordenador tomará el papel de elegir el código secreto , y el jugador tendrá que descubrirlo. Al principio se mostrará una descripción del juego junto con un menú en el que el usuario podrá elegir si quiere permitir que el código elegido tenga o no colores repetidos o salir del juego. Después, irá dando hipótesis, se admiten tanto letras mayúsculas como minúsculas, y el ordenador indicará los aciertos de cada una. El número de intentos estará limitado a 15 y cada hipótesis lanzada podrá contener colores repetidos aunque la modalidad de juego elegida sea la que garantiza que no habrá repetidos en el código secreto. Cuando se acierte el código o se alcance el número máximo de intentos, la partida terminará y se volverá al menú. Si la hipótesis contiene caracteres no válidos o no tiene la longitud adecuada, se le indicará al usuario el error y no contará como un intento. A continuación puedes ver un ejemplo de ejecución. En cursiva y negrita se muestra lo introducido por el usuario. Verás que, con el fin de poder probar fácilmente la corrección de la práctica, justo al comienzo del juego se muestra un mensaje que contiene el código secreto que el jugador debe tratar de adivinar. [ Este programa no usa tildes por motivos tecnicos ]
Descubre el codigo secreto! En cada partida, pensare un codigo de colores que tendras que adivinar. En cada intento que hagas te dare pistas, diciendote cuantos colores de los que has dicho estan bien colocados, y cuantos no.
Averigua el codigo secreto en el menor numero posible de intentos!
Práctica 2
Elige una opcion: 3 Opcion incorrecta. Prueba otra vez: - Opcion incorrecta. Prueba otra vez: 1 [INFO para depuracion] Codigo secreto: BZMR Introduce el codigo (palabra de 4 letras con alguna de R, Z, V, A, M o B): BRAB BRAB Colocados: 1; mal colocados: 1 Introduce el codigo (palabra de 4 letras con alguna de R, Z, V, A, M o B): zmzm ZMZM Colocados: 0; mal colocados: 2 Introduce el codigo (palabra de 4 letras con alguna de R, Z, V, A, M o B): BZZZ BZZZ Colocados: 2; mal colocados: 0 Introduce el codigo (palabra de 4 letras con alguna de R, Z, V, A, M o B): BzRM BZRM Colocados: 2; mal colocados: 2 Introduce el codigo (palabra de 4 letras con alguna de R, Z, V, A, M o B): BZMR BZMR Colocados: 4; mal colocados: 0 Enhorabuena! Lo encontraste! Te ha costado 5 intento(s).
Elige una opcion: 0
La implementación debe contar con el enumerado tColor cuyos posibles valores son ROJO, AZUL, VERDE, AMARILLO, MARRON y BLANCO. Puedes incorporar además valores especiales, como INCORRECTO. También es aconsejable que implementes las funciones color2char y char2color para convertir un tColor de y hacia el char que se le muestra al usuario para representar ese color. Relacionado con los tipos, debes definir también:
Para manejar el tipo tCodigo debes contar con, al menos, los siguientes subprogramas:
Práctica 2