Étape 6: Le Code, partie 1
Tout d’abord un peu d’histoire sur la façon dont le contrôleur envoie les données. Pour recevoir les données du contrôleur, affectez à la broche strobe haute, puis lire votre premier bit de données (bit le moins significatif). Pour obtenir le deuxième bit, vous basculez l’axe de l’horloge, puis lire à partir de la broche de données. Vous continuer à faire ce 16 fois. L’état du contrôleur est un nombre de 2 octets, avec les 12 octets moins significatifs contenant les boutons actuellement étant pressés et les 4 octets les plus significatifs étant inutile.Les 7 premières lignes sont donc assez simples, parce qu’ils ont juste assigner des noms aux broches 3 contrôleur et de la cheville indicatrice jeu.
Lignes 8-20, déclarent les données hexagonales pour détecter quel bouton est enfoncé sur le contrôleur. Chaque valeur hexadécimale se met en marche un peu séparé dans le flux de données, afin que le chemin vous pouvez simplement utiliser les décalages de bits pour déterminer si une certaine touche, ou simplement utiliser une opération de bits et.
La variable « array » est juste un tableau d’entiers qui est longue de 30 ints. Cette option stocke la séquence des presses pour le jeu.
« pos » est une variable position. Plus sur cela plus tard.
« timeForPress », c’est combien de temps vous devez appuyer sur les boutons.
Jusqu'à la prochaine est la méthode setup(). Nous commençons par ensemencement du générateur de nombres aléatoires et puis en définissant le mode de la broche pour chacune des broches 2-9. Ensuite, nous ouvrons une communication série, fins, de débogage et définir la séquence de touches à tous les 4. J’ai fait ce b/c le système de numérotation pour les LEDs ne va que jusqu'à 3, donc le 4 est essentiellement juste un espace réservé. Maintenant, nous timeForPress la valeur 1000 et appelez la méthode genSequence(), qui remplit notre tableau d’entiers aléatoires entre 0 et 3(inclusive). Ensuite, il définit notre position à 0, pour montrer qu’il n’a pas encore commencé le jeu, et puis il fait clignoter l’indicateur de jeu pour montrer que le jeu est sur le point de commencer.