Stap 4: Game variabelen
Dan we de bar hebben (pad) variabelen
barCurrentPosition [2] [2] is de huidige positie bar. Het geeft de positie eigenlijk van de bar op het bord. De eerste staaf stip is op de positie 4,3 (rij, kolom) en de tweede punt van de bar is in de positie 4,3 (rij, kolom).
- barNewPosition [2] [2] geeft de toekomst bar positie variabele. In dit deel van de schets is het hetzelfde als de barCurrentPosition.
barX1, barY1, barX2 en bar Y2 slaat op de standpunten van de twee puntjes in x en y (COL = x, rij = y).
bijvoorbeeld:
barX1 = barCurrentPosition [0,1]
Het betekent dat barX1 is d'Ancona(A4-0104/95) om de tweede byte van de eerste groep van byte van barCurrentPosition. Het is dus d'Ancona(A4-0104/95) 2.
barY1 = barCurrentPosition [0,1]
Het betekent dat barX1 is d'Ancona(A4-0104/95) aan de eerste byte van de eerste groep van byte van barCurrentPosition. Het is dus d'Ancona(A4-0104/95) tot en met 4.
En zo verder.
Volgende de bal van variabelen
- ballCurrentPosition [2] is de bal positie in (rij, COL), zodat het beginnen in de positie 0 rij of willekeurige COL.
ballNewPosition [2] is de positie van de toekomstige bal.
- ballX en ballY zijn het de positie in de coördinaten van de ballCurrentPosition. Gebruikt zoals de barX en barY
ballUpdatePositionCounter en ballUpdatePositionCONSTANT worden gebruikt voor het verlagen van de snelheid van de bal bijgewerkt door een specifieke functie die is ontslagen uit de snelle overloop interrupts. De ballUpdatePositionCounter wordt verhoogd in de overloop-functie en wanneer zij de ballUpdatePositionCONSTANT tot, de updateBallPosition() functie wordt gestart.
Dus, als u verhogen de snelheid van de bal wilt, moet u de ballUpdatePositionCONSTANT verlagen.
Vervolgens hebben we deze twee spel variabelen:
- Score is de game score berekend in het aantal botsing tussen bar en bal
- gameStarted geeft aan als het spel wordt gestart of niet
Tot slot de matrix waarin de visuele nummers van de score en het KeyChainino smile gezicht:
bijvoorbeeld dit:
const PROGMEM bool KeyChaininoFace[MATRIX_ROW][MATRIX_COL] = { {0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 1}, {0, 1, 1, 1, 1, 0}};
Deze matrix KeyChaininoFace genoemd wordt gebruikt voor ontwerp mijn aangepaste gezicht door 1 of 0 waar ik wil dat de LEDs zijn ingeschakeld of uitgeschakeld, respectievelijk.
Na, in andere delen van de schets, deze matrix gezicht zal worden doorgegeven in de matrixState matrix en wordt automatisch getoond voor echt in de matrix van LEDs.