Paso 3: Juego variables
El código que he creado para este juego está disponible en formato de archivo de un MPIDE y texto en la parte inferior de este paso.
Para hacer el trabajo juego, he creado varias funciones que para algunos las condiciones potenciales (en orden según la lista)
- Si hay un misil en la franja, pero no está en vuelo, actualizar su color actual mediante el valor actual del codificador.
- Si no es un misil en la tira (es decir, ha estallado/apagó), lea el nuevo valor de color por el codificador, pero realmente no actualiza nada en la tira de LED.
- Si no existe ningún misil, generar un nuevo misil y comienzo es tiempo de carga.
- Si se presiona el botón de disparo, el misil está cargado, y el misil no está en vuelo, disparar el misil.
- Si el misil en vuelo y es hora de que se mueva a lo largo de la tira, hacerlo.
- Si el misil en vuelo y su ubicación actual coincide con la ubicación del primer invasor, indican que se ha hecho contacto. Si se ha hecho contacto, compruebe si el color del misil y el invasor colorean match. Si es así, explotar el invasor; Si no, tienen el misil a desaparece y los invasores continúan su asalto.
- Si es el momento de bajar los invasores de la tira, hacerlo. Un nuevo invasor de un color al azar también se coloca en el extremo de la tira.
- Después nos mudamos a los invasores, busque contacto otra vez ver si los invasores se movió en un misil que está actualmente en vuelo.
- Si los invasores (o por lo menos en la parte delantera de la línea) han hecho todo el camino hasta el primer LED de la tira, se pierde el juego.
- Actualizar la tira de LED con los nuevos colores, misiles y ubicaciones invasor antes de bucle a través de esta lista otra vez.
Varias variables globales y # de define también fueron utilizados para ayudar a mantener un registro de constantes variables tales como el color actual del misil en vuelo, qué colores son los invasores, así como retrasos de la sincronización para misiles e invasor el movimiento.
El mencionado color "al azar" es al azar en el hecho de que elige uno de los seis colores predefinidos en basada en cómo recientemente el jugador destruido invasor en comparación con el reloj del sistema interno.