MicroController handledning del 10: Att skapa ett spel (knappen spelet) (1 / 4 steg)
Steg 1: Programming Fundamentals
Tre grundläggande programmeringsfunktioner illustrerats i vår video: matriser, inkapsling och ytterligare information om variabler. Matriser som används för att förenkla de variabler som används för varje spelare. Istället för att generera unika variabler för knappen debouncing, tryck på knapp och LED-lampor ska tändas, användes en enda variabel för var och en innehåller en matris med "2", en för varje spelare. Detta gjorde även inkapsling och repetitiva koden använder mycket mer förenklade. Om koden ska vara repurposed i programmet mer än en gång, är det klokt att sätta den koden i den särskilda plats som kallas en funktion (metod) så det kan vara märkt när det behövs. Eftersom det fanns två spelare, vi använde en identisk kod som ursprungligen kommer att bli används två gånger när du trycker på knappen och släpp är testad och den kod som används för att belysa lysdioderna.
Särskilt i programmet, kommer du se några nya saker. Med skapandet av nya funktioner, kan vi i huvudsak skapa ser ut nya kommandon att programmet kommer att undestand. Dessa funktioner kallas ProcessPressedButton och ProcessReleasedbutton. Med hjälp av arrayer, allt som behöver göras är matrisen (spelare nummer) överföras i dessa funktioner. I programmet, det första du kommer att märka är att det finns ett par uttalanden med "tomrum" i början. Dessa kallas funktionen prototyper. C eller C++ språk kräver dessa funktion prototyper att informera kompilatorn att de används i programmet innan de faktiskt definierats. Märke att funktionerna som används i programmet (inom den huvudsakliga funktionen) innan den verkliga funktion och kod (efter den huvudsakliga funktionen). Ett alternativ till detta skulle vara att faktiskt sätta Huvudfunktionen i slutet av programmet, och ta bort prototyper, men personligen tycker jag att hålla Huvudfunktionen i början för tydlighetens skull. Det finns även ett bättre alternativ: för att skapa ett par biblioteksfiler som innehåller dessa nya funktioner, men vi har inte kommit till denna nivå av programmering ännu vid denna punkt i tutorial-serien.
Du kommer också att märka att det finns heltal (variabler) utanför den huvudsakliga funktionen (ignorera parentes och nummer 2 för nu). Detta kommer att tvinga dessa variabler har global räckvidd. Tillämpningsområdet är där deklarerade variabler kommer att användas. Om en variabel deklareras inom ett visst kodblock, som i en funktion, då variabeln kommer att leva och dö i denna kod, och varje kodblock inom detta block. Till exempel om variabler deklareras inom huvudfunktionen, kan inte dessa variabler användas i en annan funktion som finns utanför den huvudsakliga funktionen. Om variablerna som definieras i botten mest nivå (förutom några block), de blir globala, och varje kodblock kan använda dem.
Nu arrayer... märker [2] i slutet av de globala variablerna. Detta gör att två av dessa samma variabler kan skapas och differentierade med hjälp av en [0] eller [1]. Varför "0"? Siffrorna är indexerade från 0, inte 1. Så, ta pressad [2] som exempel. Detta skapar en variabel kallas pressad [0] och en pressad [1]. Märka i funktionerna som jag har en variabel inom parentes. Inkapsling och matriser kan ge några riktigt häftiga funktioner i programmering.