Étape 3: Jeu variables
Le code que j’ai créé pour ce jeu est disponible en format de fichier un MPIDE et texte au bas de cette étape.
Pour faire fonctionner le jeu, j’ai créé plusieurs fonctions permettant de vérifier certaines conditions possibles (dans l’ordre comme indiqué)
- S’il y a un missile sur la bande, mais il n’est pas en vol, mise à jour c’est la couleur actuelle par l’intermédiaire de la valeur actuelle du codeur.
- S’il n’y a pas un missile sur le strip (c.-à-d. il a explosé/fait long feu), lire la nouvelle valeur de la couleur par l’intermédiaire de l’encodeur, mais pas réellement à jour quoi que ce soit sur la bande de LED.
- Si aucun missile n’existe, générer un nouveau missile et commencer il est temps de charge.
- Si vous appuyez sur le bouton de feu, le missile est facturé et le missile n’est pas actuellement en vol, tirer le missile.
- Si le missile est en vol, et il est temps pour elle de se déplacer le long de la bande, faites-le.
- Si le missile est en vol et de son emplacement actuel correspond à l’emplacement de l’envahisseur avant tout, indiquer le contact a été établi. Si le contact a été établi, vérifier si la couleur de missile et l’envahisseur color match. Dans l’affirmative, exploser l’envahisseur ; Si ce n’est pas le cas, avoir le missile disparaissent et les envahisseurs continuent leur assaut.
- Si il est temps de descendre les envahisseurs de la bande, faites-le. Un nouvel envahisseur d’une couleur aléatoire est également placé à la fin de la bande.
- Après que nous avons déménagé les envahisseurs, recherchez le contact voir si les envahisseurs déplacés dans un missile qui est actuellement en vol.
- Si les envahisseurs (ou au moins l’un à l’avant de la ligne) en ont fait tout le chemin jusqu'à la première LED sur le strip, vous perdez la partie.
- Actualiser la bande de LED avec les nouvelles couleurs, les missiles et les emplacements de l’envahisseur avant une boucle dans cette liste, encore une fois.
Diverses variables globales et #define étaient également utilisés pour aider à garder une trace des variables compatibles tels que la couleur courante du missile en vol, quelles couleurs les envahisseurs sont, mais aussi de synchronisation des retards pour le mouvement de missile et envahisseur.
La couleur « aléatoire » mentionnée est aléatoire dans le fait qu’il choisit parmi les six couleurs prédéfinies dans basé sur la façon dont récemment le joueur détruit un envahisseur par rapport à l’horloge système interne.