23 - Práctica 5 (parte 1): ¡juguemos Bop-it!

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

Introducción

En la lección anterior vimos las reglas de alcance y con este tema tenemos todos los fundamentos necesarios para comenzar a usar las funciones en Python.

Así que en esta última práctica del curso pondremos a prueba estos conceptos relacionados con las funciones, así como lo visto en lecciones anteriores, para implementar un juego similar a Bop-it, un juego creado por Hasbro en los años 90.

En esta lección veremos en qué consiste este juego, definiremos los requerimientos de nuestro programa y escribiremos el pseudo-código.

Contenido exclusivo suscriptores

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

¿Qué es Bop-it?

Bop-it es un juego de Hasbro creado en los años 90 y muy exitoso a comienzos de los 2000.

Es un juego audible, lo que quiere decir que el usuario debe seguir los comandos de voz generados por el juego para presionar, girar o halar diferentes elementos del mismo a medida que la velocidad del juego aumenta.

Se recibe un punto cada vez que la acción ejecutada por el jugador coincide con el comando de voz, mientras que el juego termina si la acción es equivocada. La dificultad del juego (es decir la rapidez con que los comandos de voz se presentan al usuario) se incrementa a medida que se incrementan los aciertos.

En las primeras versiones del juego se tenían 3 comandos de voz, equivalentes a tres acciones a ejecutar (ver figura de abajo):

En esta última práctica la idea es implementar un programa en Python que sea capaz de emular el juego Bop-it, pero usando el teclado en lugar de controles mecánicos.

Requerimientos

En detalle, el juego a implementar debe cumplir con los siguientes requerimientos (que son tomados del juego original):

  1. Debe manejar tres estados: “bop-it”, “gira” y “estira”
  2. A cada estado se asociará un comando de voz con el nombre del estado
  3. En cada ronda el estado (y por tanto el comando de voz) serán presentados al usuario de forma aleatoria
  4. La interacción del usuario se dará a través del teclado de la siguiente manera:
    • Comando “bop-it”: tecla “s” + Enter
    • Comando “gira”: tecla “d” + Enter
    • Comando “estira”: tecla “a” + Enter
  5. En cada ronda el usuario contará con un tiempo pre-definido para presionar la tecla correspondiente. Este tiempo debe disminuir progresivamente a medida que avanza el juego, incrementando así su nivel de dificultad
  6. Si el usuario presiona la tecla incorrecta, o no lo hace en el tiempo establecido, el juego terminará inmediatamente.
  7. A lo largo del juego se debe almacenar y actualizar el puntaje obtenido, y al final del mismo se debe imprimir en pantalla
  8. A pesar de que son muchos los requerimientos veremos que la implementación en Python resultará sencilla.

Pseudo-código

Teniendo en cuenta los requirimientos, podemos escribir a continuación el pseudo-código correspondiente:

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 entendemos cómo funciona el juego original y ya tenemos el esquema básico de nuestro programa. ¡Ahora debemos implementarlo!, así que en la próxima lección comenzaremos con esta tarea y veremos cómo realizar la implementación de funciones auxiliares que mejorarán la organización del código en nuestro programa.

Ver todas las lecciones de este curso