¿Cómo hacer tu propio Whac-A-Mole en Scratch?

Introducción

Es un clásico de las recreativas estadounidenses de los años 80 y 90, y aunque en otros países no se haya prodigado mucho todos conocemos los fundamentos en los que se basa el Whac-A-Mole: unos cuantos elementos escondidos que aparecerán aleatoriamente, y que tendremos que golpear con un mazo.

Crear un Whac-A-Mole en Scratch es muy sencillo y puedes hacerlo en unos pocos minutos. Con algunas diferencias respecto del juego original (y de las versiones que también llegaron a surgir como juguete infantil), a continuación os dejamos con un ejemplo del proyecto que vamos a realizar:

Si queréis tener alguna referencia del juego original, echadle un vistazo al siguiente vídeo:

¿Te animas a programar un Whac-A-Mole en Scratch? Pues continúa leyendo en la pestaña ‘Tutorial’.

Objetivos

  • Crear un juego completo, desde cero, a través de Scratch.
  • Aprender el orden y secuencia de la programación.
  • Aprender a que dos objetos interaccionen entre si y con el clic del ratón.
  • Aprender a personalizar un proyecto para añadir tu ‘toque personal’.
  • Buscar imágenes y recursos en Internet (para utilizarlos en tu proyecto)

Material

Si necesitas alguna imagen para el juego puedes guardar alguna de estas:

En nuestro caso hemos decidido recurrir a las imágenes esenciales del juego, con lo que necesitamos un topo y un martillo. Buscando imágenes hemos encontrado este topo y este martillo; recuerda que es ideal que tengan el fondo transparente.

Inicialmente sólo necesitamos dos objetos, y aunque luego podemos complicarlo… eso es para más adelante. Abre un nuevo proyecto en Scratch, borra el gato y añade el topo y el martillo.

Programando el topo

El objeto esencial de este juego es el topo: su comportamiento, por siempre, es aparecer en cualquier lugar del escenario. O lo que es lo mismo, en ‘una posición aleatoria’.

La clave de este proyecto es saber cómo tenemos que ordenar los diferentes bloques en Scratch. ¿Quieres pensarlo unos segundos a ver si eres capaz de sacarlo tú? Cuando lo tengas, sigue leyendo.

Vamos con la solución: inicialmente el objeto se esconde, luego espera (1) segundo, se muestra, espera algunos segundos más… y luego se vuelve a esconder. Esto lo repite por siempre:

Así es el código esencial del ‘topo’

Piensa que es posible que, según el objeto que hayas elegido, tengas que redimensionarlo u orientarlo antes de iniciar el bucle ‘por siempre’.

Programando el martillo (y los puntos)

Aquí no nos vamos a enrollar mucho, ya que en el Minitutorial: cómo crear un objeto que interaccione con el clic del ratón está la base para programar este mismo martillo. Recuerda añadir el ‘por siempre > ir a puntero del ratón’ para que el martillo acompañe tus movimientos.

Es importante desmigar la acción de ‘golpear’ al topo. ¿Qué significa esto en Scratch? Nuestro programa tendrá que estar comprobando, por siempre, que si el topo toca el martillo y además el ratón está presionado, entonces es que nos ha golpeado. Si queremos utilizar puntos, esto significa que sumamos un punto a nuestro contador (a mi variable la he llamado pts) y que esconderemos el topo. El código lo tendremos que poner en el topo, no en el martillo, ya que es el animal el que debe esconderse y saber cuándo está siendo tocado y golpeado. Es algo como esto:

Y hemos terminado. Ten en cuenta que es posible que tengas que hacer algún ajuste sobre el código que te mostramos aquí, añadir algún bloque, etc. Pero esto no acaba aquí, por supuesto: continúa a la pestaña de ‘Ampliaciones y más ideas’ si quieres añadir nuevas funcionalidades al Whac-A-Mole en Scratch que tenemos entre manos.

Un juego sencillo pero que permite mucha elaboración. Aquí te hemos ayudado a crear un proyecto base con el que puedes jugar durante unos cuantos minutos, pero… ¿quieres mejorarlo? Anota las ideas que te dejamos a continuación:

  • El juego no termina, es ‘infinito’. ¿Se te ocurre cómo limitar el tiempo de juego? Te sugerimos que utilices el cronómetro.
  • ¿Serías capaz de hacer que los topos apareciesen más rápido? Pista: necesitarás una variable para controlar los tiempos de espera.
  • Si quieres hacer que aparezcan varios topos a la vez necesitarás varios objetos idénticos, o bien una solución mucho mejor: utilizar clones. Te recordamos nuestro tutorial para crear clones en Scratch.
  •  En el juego original sólo existen un determinado número de hoyos en los que aparecen los topos. Esto no es difícil de hacer y te animamos a intentarlo; aunque no es exactamente lo mismo, puedes basarte en nuestro tutorial para crear objetos con comportamiento aleatorio para conseguirlo.
  • Crea un Whac-A-Mole en Scratch personalizado al gusto del usuario: que sea éste el que elija qué objeto quiere golpear, y con qué quiere golpearlo. Añade niveles, música y sonidos, ¡o incluso ranking de los mejores usuarios!

No olvides compartir con nosotros tus creaciones. También puedes encontrar más bananas siguiéndonos en BananaCoders en la comunidad de Scratch o en @BananaCoders, en Twitter.

Deja un comentario