Stap 7: Schrijven van de vergelijk-Module
Het doel van de module vergelijken is voor het verwerken van de input van de speler en te vergelijken met de LED-sequentie om te bepalen of de speler goed onthouden en de volgorde herhaald. De code voor dit proces is zeer vergelijkbaar met de code voor de huidige module. Beiden hebben dezelfde indeling voor het bepalen van welke staat naar afhankelijk van de teller.
Ingang hebben we een aparte altijd van die van de eindige toestandsmachine lus zodat het gemakkelijker te interpreteren van de speler. Het doel van deze lus is om alle vier mogelijke ingangen en zet hem in een vier bits één hete gecodeerde nummer. Dit aantal wedstrijden degene hete gecodeerd nummer voor de vier LEDs, en licht op slechts één voor elke input richting.
In vergelijking met de huidige module heeft elke staat van de vergelijk module een paar meer secties. Terwijl het nog steeds de "als" en "for"-lussen, het verwijdert het LED display gedeelte van de sectie uitvoer en voegt een "als" en "anders" om te controleren of de staat helemaal uitgang heeft. De top "als" gecontroleerd als de gebruiker de juiste ingang kiest. Als de input van de gebruiker komt niet overeen met de gewenste vier-bit een hete gecodeerde nummer vervolgens de eindige toestandsmachine direct naar de FAIL-staat, die het spel eindigt en presenteert verspringt 'FAIL' op vier HEX displays. Als de gebruiker de juiste richting kiest, het gaat over naar het "else"-instructie en wordt geconfronteerd met de tweede "als" en "else" verklaring. Deze "als" en "anders" verklaringen zijn hetzelfde als degene in heden; zij controleren welk niveau de speler is op (de waarde van de variabele 'i') en waar de eindige staat matching moet gaan vanaf daar. In het laatste niveau, als de speler correct gereageerd op alle Staten, het uiteindelijke niveau zorgt ervoor dat de machine staat aan de PASS staat. In deze status op vier HEX scherm "PASS" wordt weergegeven en het spel is gewonnen.