DIY Tilt Sensor minne spelet (7 / 12 steg)
Steg 7: Skriva modulen jämför
Syftet med jämför modulen är att bearbeta indata från spelaren och att jämföra det med LED sekvensen att avgöra om spelaren korrekt memorerade och upprepade sekvensen. Koden för denna process är mycket lik koden för den aktuella modulen. De båda har samma format för att fastställa vilken stat att gå till beroende på disken.
För att göra det lättare att tolka spelaren input vi har en separat alltid slinga för ändliga tillståndsdatorn. Syftet med denna slinga är att ta alla fyra möjliga ingångar och förvandla det till en fyra bitars en varm kodade nummer. Detta antal matcher den heta en kodad nummer för de fyra lysdioderna och lyser upp bara en för varje inkommande riktning.
I jämförelse med den nuvarande modulen har varje stat av modulen jämför några fler avsnitt. Medan det fortfarande underhåller "om" och "för" loopar, det tar bort LED displayen del av avsnittet utdata och lägger till en "om" och "annat" att kontrollera huruvida staten har ut alls. Den översta "om" kontrollerar om användaren har valt rätt ingång. Om användardata inte matchar önskad fyra lite en varm kodade nummer sedan ändlig tillståndsdatorn hoppar direkt till FAIL staten, som avslutar spelet och presenterar "Misslyckas" på fyra HEX visar. Om användaren väljer åt rätt håll, det går på att uttrycket "annat" och vetter mot den andra "om" och "else"-sats. Dessa "om" och "annat" uttalanden är samma som de i dagsläget; de kontrollera vilken nivå som spelaren är på (värdet för variabeln "i") och där den finite state matchande bör gå därifrån. I den slutliga nivån, om spelaren har svarat korrekt på alla stater, orsakar den slutliga nivån tillståndsdatorn passera staten. I detta tillstånd, "PASS" visas på fyra HEX skärm och spelet har vunnits.