Stap 11: Hoofdfunctie
Dit is de belangrijkste functie die lus over en weer.Het eerste wat dat we doen is elke scorebord met de score bijwerken. Ze zullen beide worden ingesteld op nul in het begin van het spel omdat player1Points en player2Points tot nul in de installatie worden geïnitialiseerd.digitalWrite (latch1, laag);
shiftOut (gegevens1, clock1, MSBFIRST, ~ digitOne[player1Points]);
shiftOut (gegevens1, clock1, MSBFIRST, ~ digitTwo[player2Points]);
digitalWrite (latch1, hoge);
Als een van de speler wint, de viering functie heet if(player1Points >= score) {}
player1Celebrate();
}
Als (player2Points > = score)
{
player2Celebrate(); }
Dit volgende deel kaarten van de waarden van de potentiometer en slaat op de positie van de potentiometer (potmeter) als een waarde. Deze waarde wordt de hoeveelheid tijd inbetween vervolgens elke LED. Bijvoorbeeld, als val 100 is, zal vervolgens het programma een LED in de LED-strip oplichten en wacht 100 milliseconden voordat de verlichting van de volgende LED. int val = analogRead(pot);
Val = kaart (val, 0, 1023, 1, 100);
Dit volgende deel bepaalt u of voor het verzenden van de LEDs naar speler 1 of 2-speler. als (vlag == 'F')
{
chaseForward (strip. Kleur (127, 0, 0), val);
}
Als (vlag == 'R')
{
chaseReverse (strip. Kleur (0, 0, 127), val);
} Ten slotte bepaalt het programma als de andere speler hun knop persen in de tijd wanneer de 'bal' hun manier wordt geleid. Als ze het in tijd op drukt, stuurt het programma de bal terug. int AbuttonState = digitalRead(player1); als (AbuttonState == LOW & & zet == 'A' & & vlag! = 'F' & & vlag! = 'R')
{
Ik = 0;
Speler 1 LEDs uitgeschakeld
digitalWrite (latch2, laag);
shiftOut (data2, clock2, MSBFIRST, 255);
digitalWrite (latch2, hoge);
chaseForward (strip. Kleur (127, 0, 0), val); Wit
}
int BbuttonState = digitalRead(player2);
als (BbuttonState == LOW & & zet == 'B' & & vlag! = 'F' & & vlag! = 'R')
{
Ik = 30;
Speler 2 LEDs uitgeschakeld
digitalWrite (latch3, laag);
shiftOut (data3, clock3, MSBFIRST, 255);
digitalWrite (latch3, hoge);
chaseReverse (strip. Kleur (0, 127, 127), val); Rood
}
Hoofdfunctie code hier