Paso 6: Escribir el presente módulo
En un juego de memoria, un patrón debe presentarse al usuario para ellos repetir. Este es el propósito del presente módulo. Cada vez que se ejecuta el presente módulo, se muestra el patrón de LEDs desde el último nivel, más uno más. Para implementar esto, utilizamos una máquina de estados finitos y un contador. Seguimiento de la contraria, llamada "i", el nivel. Este contador realiza un seguimiento de cuántos Estados deberían ser administrados antes de que el programa va al estado intermedio, llamado el IN_BETWEEN_STATE. En el estado intermedio no se muestra LED y, como explicaremos más adelante, se ejecuta el módulo de comparación.
El código para la máquina de estado finito puede parecer complicado a primera vista, pero lógicamente es bastante simple. Cada Estado tiene tres partes: producción, "si" y "else". La sección de salida controla los LEDs y la pantalla hexagonal. Fija los LEDs individuales o desactivar, mostrar al usuario qué orden realizar las acciones, así como el nivel se muestra en una pantalla hexagonal. La instrucción "if" comprueba si yo, el nivel, coincide con el estado que nos encontramos. Si la instrucción "if" es cierto, la máquina de estados finitos salta directamente a la etapa intermedia que esperar para que comparar a ejecutar. "i" también se incrementa por lo que cuando se ejecuta otra vez el presente módulo, el usuario está en el siguiente nivel. Por último, la sentencia "else" hace que la máquina de estado ir al siguiente estado en la secuencia, agregando otro LED a la presentación.
Además de los LEDs, hay sonido. Cada LED tiene una inclinación diferente asociada a él. Cuando un LED esté encendido, el tono vinculado a juega. Creamos las frecuencias adecuadas para el tono para que coincida con el juego de Simon manipulando matemáticamente la frecuencia de reloj. Esto se explora en profundidad en el módulo allTones.
Tenga en cuenta que nuestro código se ha fijado en el paso 10.