Estás en:   ArielOrtiz.info > Fundamentos de programación > Proyecto: Rompe Códigos

Proyecto: Rompe Códigos

Objetivos

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.

Descripción de la actividad

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:

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!

¿Qué se debe entregar?

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í)
    .

✔ Instrucciones para subir archivo

Para entregar el archivo rompe_codigos.py, ingresa los siguientes datos:

Solicitar NIP

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.