Asteroids 2.0 – NXT + PF

asteroidsHoy os queremos presentar una versión de nuestro juego asteroids para NXT, modificada por nuestro forero JIP. En este caso, se le ha añadido la posibilidad de controlar nuestra nave haciendo uso del Control Remoto IR de Power Functions (ref. 8885-1).

Asteroids 2.0: El programa

Los cambios se han realizado en el bloque Ship, que es el que controla la nave, el resto del programa se mantiene igual. En esta versión, el nuevo bloque recibirá la denominación Ship2.0, y en él se sustituye el control de la nave mediante los botones del NXT, por un sistema de control dependiente de las palancas del mando PF.

Primero hay una inicialización de variables


asteroids: var-ini
El canal del mando no esta prefijado en el programa si no que se lee del fichero canaliir cargándolo en la variable canal a través del bloque Cargar-canal.

asteroids: Cargar-canal

Si no existe el fichero la variable canal toma el valor 1.

NOTA: Si no queréis hacer uso de un fichero, podéis pedir el valor del canal al usuario, almacenándolo en una variable, tal y como os explicamos en el apartado 2 del artículo sobre el sensor IR-receiver.

La lectura de los valores del control remoto se realiza en el bloque leermando

asteroids: Leermando

El resultado es un valor en la variable estado y a partir de su valor se mueve la nave por la pantalla.

Los valores posibles que retorna el control son

 

Pos. Palanca
Dirección
Potencia
Arriba
Verdadero
100
Centro
Verdadero
0
Abajo
Falso
100

 

Estos valores se almacenan en las variables rojo y azul (para las direcciones) y projo y pazul (para las potencias).

asteroids: Leermando_1

El valor que se guardará en la variable estado depende de la posición de las palancas

 

ROJA
AZUL
VALOR ESTADO
Centro
Centro
00
Centro
Arriba
01
Centro
Abajo
02
Arriba
Centro
10
Arriba
Arriba
11
Arriba
Abajo
12
Abajo
Centro
20
Abajo
Arriba
21
Abajo
Abajo
22

 

asteroids: Leermando_2

Según el valor de la variable estado la nave se mueve por la pantalla de la siguiente manera

 

ESTADO
MOVIMIENTO
00
No se mueve
01
Arriba-Izquierda
02
Abajo-Derecha
10
Arriba-Derecha
11
Arriba
12
Derecha
20
Abajo-Izquierda
21
Izquierda
22
Abajo

 

asteroids: Leermando_3
Como estaba en el original, a través de las variables ship_x, ship_y controlamos la posición para dibujar la nave. Por otro lado, las variables counter_x y counter_y controlan los limites de la pantalla (ancho y alto).

Os dejamos el programa para que podáis descargarlo y probarlo, es un fichero .zip que contiene, por un lado, el archivo Asterois20.rbtx (recordemos que es un encapsulado con todos los bloques, sonidos, imágenes, etc…), y por otro el archivo canaliir.txt.

Programa Asteroids 2.0

NOTA: Para que el programa funcione correctamente, será necesario enviar al NXT el fichero “canaliir.txt”.

Esperamos que os haya gustado y aprovechamos para agradecer de nuevo a JIP su aportación.

Comments are closed.