Stap 3: Game variabelen
De code die ik heb voor dit spel gemaakt is beschikbaar in zowel een MPIDE als een tekst bestandsformaat aan de onderkant van deze stap.
Om het spel werk, heb ik verschillende functies waarmee gecontroleerd sommige potentiële voorwaarden (in volgorde genoemd)
- Als er een raket op de strip is, maar het is niet tijdens de vlucht, update is het huidige kleur via de huidige waarde van de encoder.
- Als er geen een raket op de strip (dat wil zeggen het heeft ontplofte/nachtkaars uit), de nieuwe kleurwaarde via het coderingsprogramma lezen, maar eigenlijk niet bijwerken iets op de LED strip.
- Als er geen raket bestaat, genereren van een nieuwe raket en start het tijd wordt opgeladen.
- Als het vuur knop is ingedrukt, de raket betaalt, en de raket momenteel niet tijdens de vlucht is, brand de raket.
- Als de raket tijdens de vlucht is en het is tijd om te bewegen langs de strip, doen.
- Als de raket tijdens de vlucht is en de huidige locatie overeenkomt met de locatie van de belangrijkste invader, geven contact is geboekt. Controleer als contact is geboekt, als de kleur voor raketten en de invaller kleur wedstrijd. Als dat zo is, exploderen de bezetter; Als dit niet het geval is, hebben de raket verdwijnen en de indringers blijven hun aanval.
- Als het is tijd om de indringers te verplaatsen langs de strip, doen. Een nieuwe indringer van een willekeurige kleur wordt ook geplaatst aan het einde van de strip.
- Nadat we de invallers hebt verplaatst, Controleer voor contactpersoon weer te zien als de indringers verplaatst naar een raket die is momenteel in vlucht.
- Als de indringers (of in ieder geval degene aan de voorkant van de lijn) hebben het helemaal tot aan de allereerste LED op de strip, verlies je het spel.
- De LED-strip met de nieuwe kleuren, raketten en invader locaties vernieuwen vóór het doorlopen van deze lijst opnieuw.
Verschillende globale variabelen en #define de werden ook gebruikt om te helpen bijhouden van consistente variabelen zoals de huidige kleur van de raket in vlucht, welke kleuren de invallers zijn, evenals de timing vertragingen voor raketten en invaller beweging.
De genoemde "random" kleur is willekeurig in het feit dat het kiest uit een van de zes vooraf gedefinieerde kleuren in gebaseerd uit hoe recent de speler een indringer in vergelijking met de interne systeemklok vernietigd.