FASE 3 - DESTRUIR LOS TOMATES ⏰ 25' aprox
Una vez conseguido el lanzamiento del tomate, tenemos que eliminarlo cuando colisione con su sombra. Antes de comenzar con esta fase, es necesario explicar el concepto de Arreglos o Listas.
Para ello, tenemos que hacer dos listas, una para almacenar los tomates, y otra para almacenar las sombras. Para ello, nos vamos a la pestaña de Arreglos, que podemos encontrar pulsando en la pestaña Avanzado. Seleccionamos el primer bloque para crear una lista. Tendremos que crear una variable, a la que llamaremos ListaTomates, y el tipo de valores tienen que ser tomates. Para ello, arrastramos la variable Tomate al bloque, para que quede de la siguiente manera. El segundo elemento lo eliminamos pulsando el botón ‘-’.
Hacemos lo mismo para las sombras y los incluimos en la sección Al iniciar.
El siguiente paso es añadir los tomates y las sombras a su respectiva lista. Para ello nos vamos a los bloques en los que lanzamos los tomates, e introducimos al final el siguiente bloque, que podemos encontrar en la pestaña Arreglos, sección Modificar.
Lo creamos dos veces, una para el tomate y otra para la sombra, y lo insertamos al final de nuestros bloques. El resultado será el siguiente:
Para comprobar que los tomates llegan al suelo, vamos a utilizar el bloque “Para siempre”, situado en la pestaña Bucles. Este bloque se ejecuta en cada momento de la partida. Vamos a recorrer con un bucle las dos listas , que tienen el mismo tamaño y el mismo orden, por lo que da igual que lista recorrer. Vamos a comprobar si el tomate se superpone con la sombra. Creamos primero el bucle, asignándole el tamaño de uno de los dos arreglos como límite.
Dentro de este bucle, vamos a poner un condicional para comprobar que cada tomate se superpone con su sombra. Utilizaremos las dos listas y el valor de index. Para ello buscamos en la pestaña Objetos el bloque “mySprite se superpone con otherSprite”, y lo ponemos como condición de nuestro bloque condicional. Después, en la pestaña de Arreglos, buscamos “lista obtener el valor en 0”, y sustituimos estos valores por nuestra lista y por index. Este sería el resultado.
Si probamos el juego, podemos ver que nuestra aplicación ahora no funciona. Esto es porque esta condición no se puede ejecutar si no existen tomates o sombras. Para solucionarlo, tenemos que comprobar antes que existen, con otro bloque de condición. Utilizamos la operación “y” en la pestaña Lógica, y en cada espacio, ponemos simplemente el tomate y la sombra (podemos duplicarlos de nuestro bloque condicional de abajo). Ahora nuestra aplicación vuelve a funcionar.
Si se cumple nuestra condición, tendremos que eliminar el tomate y la sombra, cosa que haremos utilizando el bloque “destroy mySprite” de la pestaña Objetos.
Nuestros tomates y nuestras sombras se eliminan correctamente cuando llegan al suelo.
Este sería el estado del proyecto actualmente.