2.15 JUEGO - Estrellas Cruzadas

En los próximos proyectos, jugaremos algunos mini-juegos divertidos en PictoBlox.

Aquí utilizamos el módulo Joystick para jugar al juego Estrellas Cruzadas.

Una vez que se ejecute el script, las estrellas aparecerán aleatoriamente en el escenario, debes usar el Joystick para controlar la Nave Espacial y evitar las estrellas, si las tocas, el juego terminará.

../_images/16_rocket.png

Aprenderás

  • Cómo funciona el módulo Joystick

  • Establecer las coordenadas x e y del sprite

Componentes Necesarios

En este proyecto, necesitamos los siguientes componentes.

Es definitivamente conveniente comprar un kit completo, aquí está el enlace:

Nombre

ELEMENTOS EN ESTE KIT

ENLACE

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

También puedes comprarlos por separado en los enlaces a continuación.

INTRODUCCIÓN DEL COMPONENTE

ENLACE DE COMPRA

Placa SunFounder R3

BUY

Cables Puente

BUY

Módulo de Joystick

-

Construir el Circuito

Un joystick es un dispositivo de entrada compuesto por una palanca que pivota en una base e informa su ángulo o dirección al dispositivo que está controlando. Los joysticks son a menudo utilizados para controlar videojuegos y robots.

Para comunicar un rango completo de movimiento al ordenador, un joystick necesita medir la posición de la palanca en dos ejes: el eje X (de izquierda a derecha) y el eje Y (de arriba abajo).

Las coordenadas de movimiento del joystick se muestran en la siguiente figura.

Nota

  • La coordenada x es de izquierda a derecha, el rango es 0-1023.

  • La coordenada y es de arriba abajo, el rango es 0-1023.

../_images/16_joystick.png

Ahora construye el circuito según el siguiente diagrama.

../_images/joystick_circuit.png

Programación

El objetivo del script completo es lograr que, al hacer clic en la bandera verde, el sprite Stars se mueva en una curva en el escenario y necesitas usar el joystick para mover la Rocketship, de modo que no sea tocada por el sprite Star.

1. Añadir sprites y fondos

Elimina el sprite por defecto y usa el botón Choose a Sprite para añadir el sprite Rocketship y el sprite Star. Ten en cuenta que el tamaño del sprite Rocket se establece al 50%.

../_images/16_sprite.png

Ahora añade el fondo Stars mediante Choose a Backdrop.

../_images/16_sprite1.png

2. Programación para la Nave Espacial

El sprite Rocketship debe lograr el efecto de aparecer en una posición aleatoria y luego ser controlado por el joystick para moverlo arriba, abajo, izquierda y derecha.

El flujo de trabajo es el siguiente.

  • Al hacer clic en la bandera verde, haz que el sprite vaya a una ubicación aleatoria y crea 2 variables x e y, que almacenan los valores leídos de A0 (VRX del Joystick) y A1 (VRY del Joystick), respectivamente. Puedes ejecutar el script, alternando el joystick hacia arriba y abajo, izquierda y derecha, para ver el rango de valores de x e y.

../_images/16_roc2.png
  • El valor de A0 está en el rango de 0-1023 (el medio es aproximadamente 512). Usa x-512>200 para determinar si el Joystick se está moviendo hacia la derecha, y si es así, haz que la coordenada x del sprite sea +30 (para mover el sprite hacia la derecha).

../_images/16_roc3.png
  • Si el Joystick se mueve hacia la izquierda (x-512<-200), deja que la coordenada x del sprite sea -30 (para mover el sprite hacia la izquierda).

../_images/16_roc4.png
  • Dado que la coordenada y del Joystick va de arriba (0) a abajo (1023), y la coordenada y del sprite es de abajo a arriba. Entonces, para mover el Joystick hacia arriba y el sprite hacia arriba, la coordenada y debe ser -30 en el script.

../_images/16_roc5.png
  • Si el joystick se inclina hacia abajo, la coordenada y del sprite es +30.

../_images/16_roc6.png

3. Programación para la Estrella

El efecto que se busca lograr con el sprite Star es aparecer en una ubicación aleatoria, y si golpea a la Rocketship, el script deja de ejecutarse y el juego termina.

  • Al hacer clic en la bandera verde y que el sprite vaya a una ubicación aleatoria, el bloque [turn degrees] es para hacer que el sprite Star avance con un poco de cambio de ángulo para que puedas ver que se está moviendo en una curva y si toca un borde, rebota.

../_images/16_star1.png
  • Si el sprite toca el sprite Rocketship mientras se mueve, detiene la ejecución del script.

../_images/16_star2.png