MONTAJE 8 Comebichos
No podemos dejar el Joystick sin hacer un videojuego !!
El siguiente RETO es: Mover un Sprite “Bat” con el Joystick para atrapar un Beetle
-
Bat se tiene que mover con el joystick por toda la pantalla.
-
Beetle se mueve horizontalmente desde el borde derecho hasta el borde izquierdo, y cuando llega al izquierdo, vuelve a aparecer en el derecho (y aleatoriamente desde cualquier altura)
Solución con EchidnaScratch
Añadimos los Sprite Beetle y Bat y borramos el gato
Al sprite BEETLE vamos a moverlo aleatoriamente con este script
El sprite BAT se moverá según la posición del JOYSTICK pero mapeadas luego verás qué es
y le añadimos el siguiente código al BAT para que cuente los bichos comidos. Previamente crear una variable COMIDOS
¿Qué es eso de MAPEO?
Hay que mapear las variables del Joystick del Echidna pues A0 =EJEX y A1=EJEY van de 0 a 1023 y el eje X de la PANTALLA va de -220 a 220 y el eje Y va de -180 a +180
Por lo tanto hay que modificar las variables A0 y A1 del Echidna a otras X e Y que son compatibles con la pantalla, a esa operación se le llama MAPEO. Al final de esta página están los detalles de dónde se han sacado esos números.
Solución con mBlock
El bicho Bettle lo haremos mover bastante rápido y al azar en el eje Y para que lo tenga difícil Bat:
Y bat tiene que moverse con el joystick, que le pasaremos las variables A0 y A1. Por lo tanto el Arduino tiene este programa:
Además hemos añadido la puntuación y el cambio de disfraz para que parezca que aletea:
Por lo tanto el programa del objeto murciélago es
El programa completo lo puedes descargar aquí https://planet.mblock.cc/project/projectshare/3230393
El resultado es:
Lo sé …. soy bastante malo !!
Cálculo del Mapeo
Hay que realizar un cambio de unidades, pues la variable A0 y A1 van desde 100 a 1024 y queremos que se traduzcan en las coordenadas -220+220 en el eje x y -150+150 en el eje y. La fórmula de conversión será
- A0= n + m*PinAnalogicoA0
- A1= n + m*PinAnalogicoA1 m, y n diferentes de los anteriores
Los valores de m y n lo hemos calculado con la HOJA DE CÁLCULO , los valores límites que hemos puesto son:
Para el eje X e Y :0-715
Para el eje Y: