Étape 6: Écriture du présent Module
Dans un jeu de mémoire, un modèle doit être présenté à l’utilisateur pour eux à répéter. C’est le but du présent module. Chaque fois que le présent module est exécuté, le modèle de LED depuis le dernier niveau est montré, plus un de plus. Pour cette implémentation, nous avons utilisé une machine à états finis et un compteur. Le compteur, appelé « i », assure le suivi de l’échelle. Ce compteur garde trace de combien d’États doit être exécuté avant que le programme passe à l’état intermédiaire, appelé le IN_BETWEEN_STATE. Dans l’état intermédiaire sans LEDs sont indiqués et, comme nous l’expliquerons plus loin, le module de comparaison s’exécute.
Le code pour la machine d’état fini peut sembler compliqué à première vue, mais logiquement, c’est assez simple. Chaque État comporte trois parties : sortie, « if » et « else ». La section de sortie contrôle les LEDs et l’affichage HEX. Il définit les LEDs individuelles allumé ou éteint, montrant à l’utilisateur qui afin d’effectuer les actions, ainsi qu’affiche le niveau sur un écran HEX. L’instruction « if » vérifie si « i », le niveau, correspond à l’état que nous sommes. Si l’instruction « if » est vraie, la machine à états finis saute directement à l’étape intermédiaire d’attendre pour comparer à exécuter. « Je » est également incrémenté afin que le présent module s’exécute à nouveau, l’utilisateur est sur un niveau supérieur. Enfin, l’instruction « else » entraîne la machine d’état d’aller à l’état suivant dans la séquence, ajoutant une autre LED à la présentation.
Outre les LEDs, il est solide. Chaque LED a un terrain différent lié à elle. Lorsqu’un voyant est allumé, le terrain qui lui sont lié joue. Nous avons créé les fréquences de droite pour le pitch faire correspondre le jeu de Simon en manipulant mathématiquement la fréquence d’horloge. Ceci est exploré en profondeur dans le module allTones.
Veuillez noter que notre code est associé à l’étape 10.