Étape 5: Finite State Machine :
Nous voulions que nos jeux FSM d’être aussi simple que possible, donc nous l’avons conçu pour avoir trois États. L’état initial, appelé ralenti, ralenti simplement jusqu'à ce que l’utilisateur utilise le bouton Démarrer pour commencer le jeu, affectant un signal enable haute. Une fois pressée, l’état suivant est le temps d’attente, attente jusqu'à la fin de l’actuelles 4 battements, puis l’état suivant est une attente axée sur les résultats apparaissent à l’État où le battement et indiqué mena. Dans cet État, la machine attend un résultat de la comparaison qui vérifie les entrées bouton contre la valeur bouton choisis au hasard. Si le temps s’épuise sans apport, le jeu réinitialise au ralenti et activez retourne à basse - ceci se produit également si le comparateur ne retourne pas correspondante. Mais si la comparaison retourne correspondante, puis l’état suivant est attente pour-temps-gauche, dans lequel la machine vérifie le temps sur la valeur envoyée de la minuterie. Alors qu’à partir de cet état d’attente, le score est incrémenté, et la machine revient à attendre pour les entrées avec une nouvelle valeur de la touche indiquée.
Avec le recul, nous aurions pu utiliser deux FSM distinct pour gérer individuellement les jeu (jeu sur ou encore jouer?) et l’état d’entrée (a été appuie sur un bouton ? Est-il correspond ? Est il encore temps?).