Stap 5: Sensor in actie
Nu dat we onze bal hebben, kunnen we de sensor gebruiken om het verplaatsen te maken.
In de sectie van de lus van het programma maken we een verwijzing naar de chauffeur dat we opnieuw gebruiken. Dan we de gegevens af van pins lezen x en y, en de waarden toewijzen aan variabelen x1 en y1 respectievelijk. Bovenstaande tabel toont de waarde van elke pin afhankelijk van de hellingshoek van het apparaat.
Door de waarden met de waarden "in rust" te vergelijken kunnen we bepalen als het apparaat wordt wordt bewogen naar de rechts, links, enz. Neem het eerste geval in ons programma als voorbeeld.
We weten dat als het apparaat wordt naar rechts worden gekanteld, de waarde "gerust" zal afnemen. Wanneer dit gebeurt, roept het programma de functie "move_right." Deze functie wist het scherm en voegt de waarde 10 aan variabele "varx" (die in dit geval is nul). Hiermee wordt het aantal pixels dat wij willen verplaatsen van de bal van oorsprong in de x-as. We bewaren vervolgens de nieuwe waarde van "varx" op de eerste locatie van de matrix. Tenslotte vragen wij de functies van het "FillCircle" en "Flush" als u wilt een nieuwe cirkel weergeven op onze schermpixels 10 uit de buurt van de vorige cirkel in de x-as. Het proces houdt herhalen zolang de waarde van pin X minder dan 510 is, dus de vorige cirkel wissen en tekenen van een nieuwe 10 pixels uit de buurt van elke iteratie. Dit geeft de illusie dat de bal naar rechts is verplaatst.
Echter, als de bal het einde van het scherm bereikt, de functie "stop_right" heet. Deze functie wist het scherm, stelt varx gelijk is aan de 126 en wordt deze waarde opgeslagen in de eerste plaats van de array. Vervolgens zijn de functies "FillCircle" en "Spuien" geroepen om te tekenen en weergeven van een bal met zijn oorsprong op (126,xy[1]). Met andere woorden, het programma zal stoppen met het verplaatsen van de bal 10 pixels naar rechts, en in plaats daarvan het zal houden u de dezelfde cirkel tekent aan de rand van de rechterkant van het scherm in welke y-locatie zich bevindt.
Hetzelfde idee wordt gebruikt wanneer het apparaat wordt gekanteld links, omhoog of omlaag.