Gör en SNES controller baserade Arduino spel (6 / 8 steg)
Steg 6: Koden, del 1
Först lite bakgrund om hur registeransvarige skickar data. Data från registeransvarige får du ange strobe PIN-koden för hög, då läsa din första bit av data (minst signifikanta biten). För att få den andra biten, du växla klocka PIN-koden och sedan läsa från data stift. Du fortsätter att göra detta 16 gånger. Registeransvarige är en 2 byte nummer, med 12 minst signifikanta byte som innehåller knapparna trycks för närvarande, och de 4 mest betydande byte att vara värdelös.Så första 7 raderna är ganska enkel, eftersom de bara tilldela namn till 3 controller stiften och spelet indikator PIN-koden.
Raderna 8-20 förklarar hex data används för att upptäcka vilken knapp trycks på handkontrollen. Varje hex värde vänder på lite separat i dataströmmen, så att vägen du kan bara använda bitars SKIFT för att avgöra om en viss knapp trycks eller bara använda en bitvis och.
Variabeln "array" är bara en matris av heltal som är 30 ints lång. Här lagras sekvensen av pressar för spelet.
"pos" är en variabel som position. Mer om det senare.
'timeForPress' är hur länge du måste trycka på knapparna.
Upp nästa är den setup() metoden. Vi börjar med sådd slumptalsgeneratorn och sedan ställa in pin-läge för varje stift 2-9. Nästa vi öppna upp seriell kommunikation, för felsökning ändamål, och sekvensen av knappar till alla ' 4: s. Jag gjorde denna b/c numreringssystemet för lysdioderna går bara upp till 3, så 4 är i grunden bara en platshållare. Nu vi satt timeForPress till 1000 och anropa metoden genSequence(), som fyller vår matris med slumpmässigt heltal mellan 0 och 3(inclusive). Därefter ställer vår ståndpunkt till 0, att visa att det inte har startat spelet ännu, och sedan blinkar indikatorn spelet för att visa att spelet är på väg att börja.