24 - Práctica 5 (parte 2): ¡Juguemos Bop-it!

Lección 24 del curso Python Nivel Básico.

Introducción

En la lección anterior (Juguemos Bop-it parte 1) vimos en qué consistía el juego, definimos los requerimientos de nuestro programa y elaboramos el pseudocódigo.

En esta lección comenzaremos con la implementación, y en particular nos enfocaremos en tres funciones auxiliares para la selección del estado, para la reproducción de los comandos de voz y para verificar la interacción del usuario desde el teclado.

Contenido exclusivo suscriptores

Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Funciones auxiliares

Dado que el bloque de código principal (que implementaremos en la [parte 3] de esta práctica) será relativamente extenso, si implementamos la totalidad de las funcionalidades en dicho bloque resultará difícil de entender y de depurar.

Debido a esto crearemos tres funciones auxiliares que se encargarán de tareas específicas, y que posteriormente llamaremos desde nuestro bloque principal.

Selección del estado

En este caso usaremos la librería random que ya viene instalada por defecto con Python Anaconda. Esta librería contiene múltiples funciones, entre las cuales se encuentra choice que nos permitirá seleccionar aleatoriamente uno de los tres estados disponibles: bop-it, gira y estira.

Con esto podremos crear la función seleccionar_estado que entregará como parámetro de retorno precisamente el estado seleccionado.

Reproducción de comandos de voz

Como la idea es tener un juego lo más interactivo posible, haremos que el estado seleccionado en la función anterior pueda ser reproducido a través de los altavoces de nuestro computador y directamente desde el notebook.

Junto al código fuente de esta práctica se encuentran tres archivos de audio disponibles, que contienen los comandos de voz que queremos reproducir (bop-it.wav, gira.wav y estira.wav).

Así que para reproducirlos usaremos la librería IPython.display de la cual importaremos únicamente las funciones Audio (para leer los archivos de audio) y display para reproducirlos directamente desde Jupyter Notebook.

Con esto ya podremos implementar la función comandos_voz, que tomará como entrada el estado (seleccionado por seleccionar_estado) y reproducirá el respectivo comando de voz.

Verificación interacción usuario

Por último implementaremos la función interaccion_usuario que permitirá leer la entrada desde el teclado y verificar si la tecla oprimida por el usuario coincide con el respectivo comando de voz.

La lectura de la tecla oprimida por el usuario la haremos con la función input. Adicionalmente, usaremos el método lower para convertir el string ingresado por el usuario a letras minúsculas; de esta manera el usuario podrá introducir caracteres tanto en mayúscula como en minúscula y en ambos casos nuestro programa funcionará correctamente.

A continuación definiremos la variable success como False e introduciremos tres bloques condicionales if, en donde en cada uno verificaremos si la tecla oprimida coincide con el comando de voz reproducido. De ser así la variable success tomará el valor True.

Dicha variable success será retornada por la función una vez culmine la ejecución.

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Perfecto, ya tenemos las tres funciones auxiliares implementadas, así que nos resta únicamente incorporarlas en la implementación del bloque principal que contendrá la totalidad del juego, y que será el tema de la parte 3 de esta práctica.

Ver todas las lecciones de este curso