Stap 6: De Code, deel 1
Eerst een beetje achtergrond over hoe de controller stuurt gegevens. Om de gegevens van de controleur ontvangt, u de pin van de flitser instellen op hoog, lees dan uw eerste stukje van de gegevens (minst significante bit). Als u de tweede bit, u de pin klok in-/ uitschakelen en vervolgens lezen van de data pin. U blijven doen dit 16 keer. De staat van de controller is een getal van 2 bytes, met de 12 minst significante bytes met de knoppen op dit moment wordt ingedrukt, en de 4 belangrijkste bytes worden nutteloos.Dus de eerste 7 regels vrij eenvoudig, zijn omdat ze gewoon namen aan de pennen 3 controller en de pin spel indicator toewijzen.
Lijnen 8-20 verklaar de hexadecimale gegevens gebruikt om te ontdekken welke knop is ingedrukt op de controller. Elke hex waarde draait op een afzonderlijke bits in de data-stream, dus dat manier u kunt gewoon gebruik maken van bits verschuivingen om te bepalen als een bepaalde knop wordt ingedrukt, of gewoon gebruik maken van een bitsgewijze en.
De variabele 'matrix' is gewoon een matrix van gehele getallen die 30 ints lang is. Deze slaat de volgorde van de persen voor het spel.
'pos' is een positie-variabele. Meer daarover later.
'timeForPress' is hoe lang je moet druk op de toetsen.
Volgende is de Setup-methode. We beginnen met het zaaien van de random number generator, en vervolgens de pens-modus in te stellen voor elk van de pinnen 2-9. Volgende wij openstellen van seriële communicatie, voor foutopsporing, en de volgorde van de knoppen naar alle ' 4's. Ik deed dit b/c het nummeringssysteem voor de LEDs alleen gaat tot 3, dus de 4 is in wezen gewoon een tijdelijke aanduiding. Nu we timeForPress ingesteld op 1000, en roep de genSequence()-methode, waarmee onze matrix ingevuld willekeurige gehele getallen tussen 0 en 3(inclusive). Vervolgens wordt het onze positie ingesteld op 0, laten zien dat het het spel is nog niet gestart, en vervolgens het knippert de spel indicator om te tonen dat het spel is ongeveer te beginnen.