KeyChainino - första spelet nyckelringen programmerbara med Arduino (4 / 14 steg)
Steg 4: Spelet variabler
Sedan har vi baren (pad) variabler
barCurrentPosition [2] [2] är nuvarande bar position. Det visar faktiskt position i baren i styrelsen. Första baren dot är ståndpunkt 4,3 (rad, kolumn) och den andra punkten i baren är i läge 4,3 (rad, kolumn).
- barNewPosition [2] [2] anger framtiden bar position variabel. I denna del av skissen är det samma som barCurrentPosition.
barX1, barY1, barX2 och bar Y2 lagrar positionerna för de två prickarna i x och y (COL = x, rad = y).
till exempel:
barX1 = barCurrentPosition [0,1]
Det innebär att barX1 är egual till den andra byten av den första gruppen för byte av barCurrentPosition. Så är det egual till 2.barY1 = barCurrentPosition [0,1]
Det innebär att barX1 är egual till den första byten i den första gruppen för byte av barCurrentPosition. Så är det egual till 4.Och så vidare.
Nästa BOLLENS variabler
- ballCurrentPosition [2] är det boll position i (rad, kolumn), så det börja i position 0 rad och slumpmässig COL position.
ballNewPosition [2] är den framtida ball positionen.
- ballX och ballY är den positionen i koordinater från ballCurrentPosition. Används som barX och barY
ballUpdatePositionCounter och ballUpdatePositionCONSTANT används för att minska hastigheten bollen uppdateras av en viss funktion som avfyras från snabb overflow avbrotten. BallUpdatePositionCounter ökas i funktionen overflow och när den når ballUpdatePositionCONSTANT, funktionen updateBallPosition() avfyras.
Så, om du vill öka bollhastigheten, måste du minska ballUpdatePositionCONSTANT.
Sedan har vi dessa två spel variabler:
- poäng är spelets poängresultat beräknas antalet kollision mellan bar och bollen
- gameStarted anger om spelet är igång eller inte
Slutligen den matris som visar visuella antalet poäng och KeyChainino leende ansikte:
till exempel detta:
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}
};
Denna matris kallas KeyChaininoFace används till design mitt eget ansikte genom att sätta 1 eller 0 där jag vill ha lysdioderna är aktiverade eller avstängda, respektive.
Efter, i andra delen av skiss, ansikte matrisen kommer att skickas i matrisen matrixState och kommer att vara automatiskt visade på riktigt i matrisen lysdioder.