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).

    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


    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.

    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

    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).

    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

    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


    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.

    Artículos relacionados:

    1. Juego Asteroids con NXT
    2. Controla tu NXT con PF: Sensor Receptor de IR
    3. Cerradura electrónica en NXT-G
    4. Tutorial: Variables y Constantes en NXT-G

    Escribe un comentario

    You must be registrado para poder escribir un comentario.