Stap 1: Programmering Fundamentals
Drie fundamentele programmeerfuncties hebben geïllustreerd in onze video: arrays, inkapseling en aanvullende informatie over variabelen. Matrices worden gebruikt voor het vereenvoudigen van de variabelen die worden gebruikt voor elke speler. In plaats van het genereren van unieke variabelen voor knop debouncing, de druk op de knop en de LEDs worden verlicht, werd een enkele variabele gebruikt voor elke met een matrix van "2", een voor elke speler. Dit maakte ook inkapseling en repetitieve code gebruiken veel meer vereenvoudigde. Als de code is aan andere doelen worden gebruikt in het programma meer dan eens, is het zinvol om die code in de speciale plaats genaamd van een functie (methode), zodat het kan worden aangeduid wanneer dat nodig is. Aangezien er twee spelers waren, we gebruikten een identieke code die oorspronkelijk was gonna be tweemaal gebruikt wanneer de druk op de knop en de release is getest en de code die wordt gebruikt voor het verlichten van de LED's.
In het bijzonder in het programma, zult u zien een paar nieuwe dingen. Met de oprichting van nieuwe functies creëren we kan in wezen ziet het nieuwe opdrachten dat het programma wordt begrepen. Deze functies worden aangeroepen ProcessPressedButton en ProcessReleasedbutton. Met de hulp van de arrays, alles wat gedaan moet worden is de array (speler abonneenummer) worden doorgegeven aan deze functies. In het programma is het eerste ding dat u zult opmerken dat er een aantal verklaringen gevolgd door een "leegte" aan het begin. Deze worden functie prototypes genoemd. De taal van C of C++ vereist deze functie prototypes om te informeren van de compiler dat deze worden gebruikt in het programma, voordat ze daadwerkelijk zijn gedefinieerd. Merk op dat de functies worden gebruikt in het programma (binnen de hoofdfunctie) voordat de werkelijke functies en de code (na de hoofdfunctie). Een alternatief voor dit zou eigenlijk zetten de main-functie aan het eind van het programma, en het verwijderen van de prototypes, maar ik houd persoonlijk van houden de hoofdfunctie in het begin voor de duidelijkheid. Er is zelfs een beter alternatief: maken van een paar bibliotheekbestanden die deze nieuwe functies bevatten, maar we hebben niet gekregen tot dit niveau van programmering nog op dit punt in de tutorial-serie.
U zult ook opmerken dat er gehele getallen (variabelen) buiten de main-functie (het negeren van de vierkante haken en nummer 2 voor nu). Dit zorgt ervoor dat deze variabelen hebben een globale scope. Bereik is waar het gedeclareerde variabelen zullen worden gebruikt. Als een variabele wordt gedeclareerd binnen een specifiek codeblok, zal zoals in een functie, vervolgens de variabele leven en sterven in dit blok van de code, en alle codeblokken binnen dit blok. Bijvoorbeeld, als de variabelen zijn gedeclareerd binnen de belangrijkste functie, kan deze variabelen niet worden gebruikt binnen een andere functie die zich buiten de main-functie bevindt. De variabelen worden gedefinieerd aan de onderkant meest niveau (buiten een blok), ze wereldwijd als een codeblok kunt hen.
Nu de arrays... merkt de [2] aan het eind van de globale variabelen. Dit zorgt voor twee van deze dezelfde variabelen kan worden gemaakt en worden gedifferentieerd met behulp van een [0] of [1]. Waarom '0'? De nummers zijn geïndexeerd van 0, niet 1. Dus, neem de Pressed [2] als voorbeeld. Dit maakt een variabele genaamd Pressed [0] en een Pressed [1]. In de functies opmerken dat ik heb een variabele binnen de haakjes. Inkapseling en arrays bieden sommige werkelijk koele eigenschappen in de programmering.