Paso 5: Máquina de estado finito:
Queríamos que nuestros juegos de FSM para ser tan simple como sea posible, así que diseñamos para tres Estados. El estado inicial, llamado de ralentí, simplemente huelga hasta que el usuario utiliza el botón de inicio para programar el juego, una señal de enable a alta. Una vez presionado el siguiente estado es el tiempo de espera, la espera hasta el final de los actuales cuatro golpes, entonces el estado siguiente es esperar por resultados donde el beat e indicado led de estado se muestran. En este estado, la máquina espera un resultado de la comparación que comprueba las entradas de botón con el valor del botón elegido al azar. Si el tiempo se agota sin entrada, el juego se reinicia inactivo y permitir vuelve a baja - esto también ocurre si la comparación devuelve no partido. Pero si la comparación devuelve a partido, entonces el estado siguiente es esperar para-tiempo-a la izquierda, en el que la máquina comprueba el tiempo sobre el valor en el contador de tiempo. Entonces sólo de este estado de espera, la puntuación se incrementa, y la máquina vuelve a esperar para la entrada con un nuevo valor de botón indicado.
¿En retrospectiva, podríamos haber utilizado dos separadas de FSM para manejar individualmente estado juego (juego sobre o aún jugando?) y estado de la entrada (se pulsa un botón se ha? ¿Coincide con? Es aún tiempo de izquierda?).