viernes, 25 de enero de 2019

Máquina de Arcade 05: disparos

Para terminar con el bloque de creación de juegos, vamos a crear un juego de disparos, para combinar los dos tipos de componentes que utilizaremos en nuestra máquina de arcade: joystick y pulsadores.
El juego que vamos a desarrollar consistirá en un objeto, al que llamaremos "defensor" que evitará que otro objeto, al que llamaremos "atacante" sobrepase su posición.
El defensor se moverá de arriba a abajo en la parte izquierda de la pantalla, y el atacante saldrá por la derecha y avanzará en línea recta. El defensor podrá dispararle y, si le alcanza, será destruido.
Como la placa Arduino es la que controla joystick y pulsadores, las ordenes para otros objetos que estén relacionadas con el mundo físico tendrán que llegarles desde "MENSAJES", unos bloque muy útiles que vamos a aprender a utlizar.



1. El movimiento del defensor.
Para que el defensor se mueva de arriba a abajo con el joystick no vamos a tener ningún problema, pues es algo que ya hemos hecho antes, ¿lo recordáis? Estos son los bloques que debemos usar:
2. Disparos
Para disparar vamos a utilizar un nuevo objeto que saldrá desde el objeto defensor avanzando hacia delante como si fuera un proyectil. Pero antes de crearlo, tendremos que hacer una cosa.
Como el único objeto que se va a comunicar con la placa Arduino, debemos diseñar un programa que detecte cuando se pulsa el pulsador y que le indique al proyectil que tiene que salir. Esto lo haremos mediante mensajes:


Estos bloques sirven para enviar o recibir mensajes. El primero y el segundo enviarán un mensaje que servirá para iniciar un programa usando el tercer bloque.
La diferencia entre los dos primeros es que el segundo, "enviar y esperar" no permite activar el programa de nuevo hasta que el programa iniciado con el mensaje termina.

Este es el que usaremos en nuestro programa.
Debemos crear un programa que  siempre que se active un pulsador (digamos SR, que está conectado a D2, por ejemplo) envíe un mensaje para activar el programa del proyectil.
Para esto usaremos estos bloques:


Una vez organizados los bloques, tendremos que definir el mensaje. Para esto hacemos clic en la flechita del bloque "enviar a todos y esperar" y se desplegará un menú en el que debemos seleccionar el mensaje que queremos enviar. Como aún no hemos declarado ningún mensaje, solo ofrecerá la posibilidad de añadir uno nuevo:

Al hacer clic sobre "nuevo" se abrirá una ventana que nos permitirá crear un nuevo mensaje poniendo su nombre. Yo lo denominaré "Disparo". Al hacer clic en aceptar, el mensaje Disparo podrá seleccionarse ya en el menú desplegable de los bloques de enviar mensaje.


Con esto tendríamos un programa mínimo para el objeto Defensor. Pasemos al objeto Proyectil.
Cualquier objeto puede hacer de proyectil, pero en este caso yo he creado un objeto nuevo dibujando una linea. Ese será mi proyectil.
El programa que usa es el siguiente:


Pero es un programa un poco feo... ¿Cómo puedes mejorarlo con los bloque "mostrar" y "esconder"?

Aquí tenéis el programa tal y como está ahora.

No hay comentarios:

Publicar un comentario