Durante esta actividad, los alumnos serán capaces de:
Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
Este proyecto puede ser elaborado de manera individual o en parejas.
Desarrollar en Python 3.5 una aplicación que implemente el juego de Rompe Códigos, que es una variación del juego comercial conocido como “Mastermind” de Pressman Toys.
Consideraciones:
exists
importable del módulo os.path
, por ejemplo:
from os.path import exists if exists('algun_archivo.txt'): # Hacer algo con el archivo.
A continuación se proporciona un ejemplo extenso de una corrida completa del programa (la entrada del usuario está en azul):
** ROMPE CÓDIGOS ** Menú =================== 1. Jugar 2. Configuración 3. Salir =================== Selecciona una opción: 2 ----- Configuración ----- Longitud del código a romper : 4 Letras distintas posibles : 6 Máximo número de intentos : 10 ¿Deseas modificar estos valores? (s/n): n ** ROMPE CÓDIGOS ** Menú =================== 1. Jugar 2. Configuración 3. Salir =================== Selecciona una opción: 1 Intentos restantes para romper el código: 10 Teclea una cadena de 4 caracteres de la A a la F: abcd Letras en posición incorrecta : 1 Letras en posición correcta : 2 Intentos restantes para romper el código: 9 Teclea una cadena de 4 caracteres de la A a la F: abed Letras en posición incorrecta : 2 Letras en posición correcta : 1 Intentos restantes para romper el código: 8 Teclea una cadena de 4 caracteres de la A a la F: dbcf Letras en posición incorrecta : 1 Letras en posición correcta : 1 Intentos restantes para romper el código: 7 Teclea una cadena de 4 caracteres de la A a la F: eabd Letras en posición incorrecta : 3 Letras en posición correcta : 0 Intentos restantes para romper el código: 6 Teclea una cadena de 4 caracteres de la A a la F: baef Letras en posición incorrecta : 3 Letras en posición correcta : 0 Intentos restantes para romper el código: 5 Teclea una cadena de 4 caracteres de la A a la F: cbea Letras en posición incorrecta : 4 Letras en posición correcta : 0 Intentos restantes para romper el código: 4 Teclea una cadena de 4 caracteres de la A a la F: abec Letras en posición incorrecta : 3 Letras en posición correcta : 1 Intentos restantes para romper el código: 3 Teclea una cadena de 4 caracteres de la A a la F: acbe Letras en posición incorrecta : 3 Letras en posición correcta : 1 Intentos restantes para romper el código: 2 Teclea una cadena de 4 caracteres de la A a la F: aecb Letras en posición incorrecta : 0 Letras en posición correcta : 4 ¡Felicidades! Rompiste el código en 9 intentos. ** ROMPE CÓDIGOS ** Menú =================== 1. Jugar 2. Configuración 3. Salir =================== Selecciona una opción: 2 ----- Configuración ----- Longitud del código a romper : 4 Letras distintas posibles : 6 Máximo número de intentos : 10 ¿Deseas modificar estos valores? (s/n): s Longitud del código a romper : cinco cinco no es un número entero positivo válido. Longitud del código a romper : -10 -10 no es un número entero positivo válido. Longitud del código a romper : 5 Letras distintas posibles : 4 El número debe estar entre 5 y 26. Letras distintas posibles : 26 Máximo número de intentos : infinito infinito no es un número entero positivo válido. Máximo número de intentos : 1000 El número debe estar entre 1 y 99. Máximo número de intentos : 2 Los cambios han sido guardados exitosamante. ** ROMPE CÓDIGOS ** Menú =================== 1. Jugar 2. Configuración 3. Salir =================== Selecciona una opción: 1 Intentos restantes para romper el código: 2 Teclea una cadena de 5 caracteres de la A a la Z: abcde Letras en posición incorrecta : 1 Letras en posición correcta : 0 Intentos restantes para romper el código: 1 Teclea una cadena de 5 caracteres de la A a la Z: vwzyz La cadena no debe tener caracteres repetidos. Teclea una cadena de 5 caracteres de la A a la Z: uvwxyz La cadena debe ser de exactamente 5 caracteres. Teclea una cadena de 5 caracteres de la A a la Z: vwxyz Letras en posición incorrecta : 1 Letras en posición correcta : 2 Ya llegaste al número máximo de intentos. El código era: CTXVZ ** ROMPE CÓDIGOS ** Menú =================== 1. Jugar 2. Configuración 3. Salir =================== Selecciona una opción: 4 Opción inválida. ** ROMPE CÓDIGOS ** Menú =================== 1. Jugar 2. Configuración 3. Salir =================== Selecciona una opción: tres Opción inválida. ** ROMPE CÓDIGOS ** Menú =================== 1. Jugar 2. Configuración 3. Salir =================== Selecciona una opción: 3 Bye!
Tu programa debe estar en un solo archivo llamado rompe_codigos.py
e incluir en la parte superior un comentario con nombre y matrícula de los autores, por ejemplo:
# Autores: # A01166611 Pepper Pots # A01160611 Anthony Stark # # Descripción del programa. # # Noviembre 30, 2016. . . (El resto del programa va aquí) .
Para entregar el archivo rompe_codigos.py
, ingresa los siguientes datos:
Si el proyecto fue desarrollado por un equipo de dos personas, basta que una persona lo entregue.
Fecha límite: Miércoles, 30 de noviembre.