Halloween Hunter – Scratch 2.0

Hola de nuevo. En esta entrada nos gustaría mostraros un proyecto de programación con Scratch 2.0 que vamos puliendo con cada ocasión de sacarlo a la pizarra. Creemos que ya está maduro para ser compartido en comunidad y que pueda servir a otros para pasar un rato entretenido.

Tened en cuenta que nuestro ámbito se suele restringir a los cursos altos de Primaria, de 4º a 6º y la mayoría de nuestro alumnado no suele haber tenido contacto previo con Scratch. Partiendo de esta premisa, adaptamos la complejidad sobre la marcha (ya tenemos muchas tablas), incorporando componentes a una base muy simple para darle más emoción a los mayores, aunque planteamiento y desarrollo siguen el mismo esquema para todos los grupos. Este proyecto nos sirve para repasar y afianzar muchos conceptos de programación como bucles, condicionales, efectos gráficos, sonidos y variables (casi nada, ¿eh?). Pongámonos a ello…

Propuesta:

Planteamos a los chiquillos un juego en el que varios monstruos aparecen en nuestro mundo por la fiesta de Halloween y nosotros soltaremos adrenalina aplastándoles con una maza.

Les proporcionamos una carpeta con un archivo por cada personaje que utilizaremos. En cada archivo se incluyen los distintos disfraces que puedan necesitar y los sonidos asociados.

Comienzo:

CalabazaCalabaza (1): Cargamos el personaje de la calabaza. Solo tiene un disfraz y un sonido. Pedimos que muevan la calabaza por toda la pantalla y que rebote si toca un borde. Suele ser fácil, pero estaremos atentos a los bloques “Al presionar bandera verde” y “Por siempre”, que algún despistado se olvida. Ahora pedimos que piensen como darle un toque de dificultad, obligando a la calabaza a que se muestre y se esconda cada cierto tiempo.  De repente, la calabaza se mueve a trompicones. Han puesto en el mismo bucle, a continuación de los bloques de movimiento anteriores, los de mostrarse y ocultarse con los retardos de tiempo. Aquí es donde recurrimos a crear otro módulo de programación independiente y de paso les explicamos que un problema complejo puede resolverse si lo dividimos en partes más pequeñas que ya no resulten tan difíciles. Con dos módulos separados, la calabaza funciona de lujo. Recordad también bloquear los grados de libertad de giro del personaje y establecerlos en derecha-izquierda, no vayamos a tener calabazas volantes boca abajo. En caso de que el público sea mejor conocedor de Scratch, pedimos que los tiempos entre mostrarse y esconderse sean aleatorios, para que resulten más reales. Incluso en el programa final encontraréis alguna otra modificación, como que cada vez que la calabaza aparezca lo haga en una ubicación distinta y apuntando en una dirección al azar.

CalabazaProgram

MazaMaza MazaProgram(1): Pasamos a cargar el personaje de la maza, el arma definitiva. La idea a transmitir es que la maza ha de estar durante todo el desarrollo del juego pegada al puntero del ratón. Bastante fácil. Además, cada vez que hagamos clic, la maza debe simular el movimiento de atizar un golpe y oírse un efecto de sonido. Tras varias ideas, parece que hemos decidido que un bloque “Si… entonces… si no…” será la mejor opción para jugar con los disfraces.

 

Calabaza (2): Llegados a este punto, tenemos que conseguir que la calabaza reaccione a los posibles mazazos que le propinemos. Aquí abrimos una nueva tormenta de ideas para entender qué significa en Scratch que la calabaza reciba un golpe. Suele costar, pero al final llegamos a la conclusión de que tienen que ser dos sucesos simultáneos: por un lado, la maza debe estar tocando a la calabaza y además nosotros debemos presionar el ratón. De nos ser así, CalabazaProgram2podríamos estar dando mazazos en el aire o la calabaza pasando bajo nuestra maza pero sin que nosotros hagamos clic con el ratón.  Para darle un aire cómico, pedimos a nuestra audiencia que aplique un efecto ojo de pez a la calabaza cada vez que la golpeemos y de paso que se reproduzca el sonido que hemos elegido para ella.

Si manejamos Scratch con soltura, es el momento de pedir que incorporen al programa una variable para contabilizar cuántos aciertos hemos tenido con la maza. Suelen aparecer efectos laterales, como que algunos mazazos no son contabilizados, mazazos dobles o triples, partidas que empiezan con el CalabazaProgram3marcador de la anterior sin borrar… tras varias propuestas, hemos decidido añadir estos bloques al condicional para contabilizar aciertos y añadiremos un retardo para evitar que sean doblemente puntuados. Recordad añadir en algún punto que al presionar la bandera verde, el marcador se ponga a 0.

Ya tenemos el entramado del juego construido y podemos comprobar que funciona correctamente. Ahora es el momento de ir añadiendo más monstruos.

BatmanMurciélago (o vampiro, o Batman….): Cargamos el personaje y pedimos que básicamente se comporte como la calabaza, pero con ciertas modificaciones, a saber…

…  para ponerlo asequible, el murciélago debe cambiar el disfraz de modo que simule un aleteo, no se permite que vuele cabeza abajo y cuando reciba un mazazo, utilizaremos el efecto resplandecer en lugar del ojo de pez. También cuenta con un sonido personalizado.

… para darle más realismo, aparecerá en un lugar al azar apuntando en una dirección cualquiera y cada vez que reciba un mazazo utilizará sus poderes de teleportación a otra posición al azar de la pantalla y apuntará hacia otra dirección. En este caso, nos queda algo así:

BatmanProgram

FantasmaFantasma: Otro bicho más que añadir a nuestro juego. Podemos hacer que se mueva como la calabaza en talleres sencillos o podemos liarnos la manta a la cabeza con otras posibilidades más sofisticadas. En nuestro caso vamos a crear un efecto muy chulo jugando con el efecto desvanecer. Pedimos que el fantasma aparezca en un lugar al azar de la pantalla, pero que lo haga poco a poco, saliendo de entre las sombras y que tal como ha venido , desaparezca y repita el proceso en otra ubicación. Cuando reciba un mazazo, no le aplicamos efectos especiales, simplemente hacemos que desaparezca. Tal que así nos quedó en clase:

FantasmaProgram

BrujaBruja piruja: Terminamos nuestro elenco de personajes añadiendo la bruja.  Como ya es costumbre en este programa, se comportará como la calabaza y si nuestro público pide más, le añadiremos alguna característica especial. Por ejemplo, que aparezca en cualquier posición de la pantalla, que apunte en una dirección cualquiera y que siga esa dirección hasta que toque un borde, momento en el que desaparecerá para nuevamente aparecer en otra ubicación. Para darle un toque cómico, le aplicaremos un efecto remolino cuando le demos un mazazo. Nuestra implementación es la siguiente:

BrujaProgram

Cuestiones finales:

CronoProgram

Para una experiencia completa, nos hace falta incluir un escenario molón (y tenebroso) y una cuenta atrás. Para hacer sencillo el programa, hemos decidido limitar cada partida a 30 segundos. Nuestra implementación es la siguiente:

 

 

 

Esperamos que os haya gustado nuestro programa. A nuestros chavales les ha encantado y buena prueba de ello la encontraréis en nuestro perfil de Instagram o Twitter. Os dejamos con el proyecto que hemos subido a la web de Scratch por si queréis probarlo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *