En esta práctica vamos a programar el mítico videojuego de Flappy Bird. El videojuego consiste en hacer volar a un pájaro haciendo click para evitar los obstáculos. Programaremos el juego para que responda de diferentes formas cuando toque estas tuberías.
Descarga el archivo comprimido con el botón de abajo, y descomprimelo para obtener todos los objetos que usaremos.
Carga el fondo y modifica su tamaño y posición para ajustarlo al escenario del juego.
⭐Recuerda que convertirlo a vector facilita esta tarea.⭐
Crea un objeto llamado Bird, y añade los cuatro disfraces en el orden correcto. Luego haz un programa para, que nada más empezar el juego, el objeto vaya cambiando al siguiente disfraz cada 0.1 segundos. Añade tambien que empiece en la posición X=-170, Y=0 y apuntando en la dirección 90º.
Programa el objeto Bird para que vuele más alto cuando hagas clic con el ratón. Recuerda condicionar la programación para que no pueda subir de manera indefinida con una pulsación larga del ratón.
El sonido es opcional, pero le dará un efecto más especial al juego final.
Esta parte del código tiene que estar siempre ejecutandose, por tanto pondremos un bloque de 🏳️🟩 específico para esta parte.
Programa una secuencia independiente para hacer que, a los 3 segundos de empezar, el pájaro vaya descendiendo de forma continua.
Ahora es momento de crear el obstáculo. Importaremos el objeto de la tubería, y jugaremos con él para crear algo parecido a la imagen. Dejaremos un hueco entre las tuberia superior e inferior suficiente para que el personaje pueda pasar (cuanto más pequeño sea más difícil será el juego). Para poder determinar luego en el cógigo la posición del hueco, es importante dejar el centro del objeto en el centro (o lo más centrado posible) el hueco.
Para el programa del obstáculo, vamos a hacer que del mismo objeto obtengamos varios. Vamos a usar la función de clonar para, a partir de un objeto principal (el original), crear otros de mismo aspecto, pero con su propia programación de clon, ya que todos tendrán la misma apariencia y programación. El código para ir creando los clones será el de la siguiente imagen, en esa secuencia haremos:
Ocultar el obstáculo "original"
Esperar a que empiece el juego (a que el personaje empiece a caer)
y luego crearemos un clon cada 1.5 segundos por siempre.
Para poder cambiar la dificultad a más fácil podríamos aumentar el tiempo.👿
Cada vez que un clon es creado hará una programación especial, definida por un bloque de evento llamado "Al comenzar como clon", en el añadiremos la programación de los clones, y el elemento "original" ignorará esta programación. Esta hará:
Enviar al clon a la posición X=240, Y=#valor aleatorio# (el rango dependerá del tamaño del hueco de vuestro obstáculo, podéis ir probando)
Mostrar, ya que el clon se crea escondido (como está el "original")
Por siempre:
Sumar a x un valor negativo (podéis probar valores hasta que haya un equilibrio entre dificultad y jugabilidad)
Si la posición en X es menor que #valor de la coordenada X que quieres que sea el final del obstáculo# entonces:
Eliminar este clon
Ya tenemos todos los objetos del juego, pero nos falta que interactúen entre ellos. Vamos a hacer que el pájaro se "muera" cuando toque un obstáculo o el suelo. El código es el siguiente:
Comprobar las condiciones que "matan" al personaje, y si se cumple:
Detener otros programas (para que el jugador no pueda seguir saltando).
Giro el personaje para dar el efecto de ☠️ junto con reproducir un sonido de Fail.
Hago que vaya cayendo poco a poco hasta tocar el suelo: un repetir con una condición y un bloque de sumar Y
Detengo todo el juego.
Añade un marcador de puntos, y haz que cada vez que se logra superar un obstáculo se gane un punto.
Añade a la programación los bloques necesarios para poder controlar el personaje con la tecla de "Espacio" también.
Añade una pantalla de Game Over que muestre la cantidad de puntos obtenida por el jugador. En ella debe aparecer un botón que permita volver a jugar desde el principio. Pista: puedes cambiar los bloques de "Al hacer clic en 🟩", por bloques de "Al recibir mensaje" y por supuesto tendrás que eliminar el bloque de "Detener todos"
Modifica la inclinación del personaje cada vez que vuele, para que se parezca lo máximo posible al juego original.
Si vas al título y presionas "Bird" podrás probar el juego.🕹️
Puedes probar el juego que he creado yo para ver las mecánicas y el resultado final. Para jugar presiona la bandera verde. 💚