Stap 5: Game-systemen (het hart van ons project)
////////////////////////////////P1 GAME SYSTEM/////////////////////////////////////
NORMAAL SPEL STAAT
VOID GameSystemP1() {}
cleanBoardP1();
Als (CurrentLedP1 > ScoreP1) {}
TimerActiveP1 = false;
CurrentLedP1 = 0;
Als (ScoreP1 > = 3) {}
SpeedP1 = SpeedP1 / SpeedPercentage;
ScoreP1-= 1;
}
terugkeer;
}
/////////////////////////////////
NOTITIES
De huidige leidde kan nooit hoger zijn dan de huidige score. De gespeelde heeft dus niet duwt de knop helemaal niet, die resulteren in een dalende van de score.
Het is belangrijk op te merken dat wanneer de speler verliest:
-de huidige geleid terug wordt ingesteld op 0
-de huidige tijd is op beginstand zetten
Behalve alleen wanneer de score hoger dan de minumin is:
-de score daalt
-de snelheid toeneemt (omgekeerde percentage)
////////////////////////////////
LAATSTE LED
Als (ScoreP1 == CurrentLedP1) {}
Hiermee schakelt u de timer
Als (TimerActiveP1 == false) {}
TimerActiveP1 = true;
IntervalP1 = SpeedP1;
TimeSaveP1 = tijd;
}
De knop werd ingedrukt aan de rechterkant leidde
if(P1ButtonDelay() == true) {}
TimerActiveP1 = false;
CurrentLedP1 = 0;
SpeedP1 = SpeedP1 * SpeedPercentage;
ScoreP1 += 1;
}
inschakelen van de led
Als ((time-TimeSaveP1) < (IntervalP1)) {}
digitalWrite((CurrenLedP1+FledP1),HIGH);
}
De speler heeft geen druk op de knop en dus verliest een ronde
Als ((time-TimeSaveP1) > (IntervalP1)) {}
TimerActiveP1 = false;
CurrentLedP1 = FledP1;
Als (ScoreP1 > = 3) {}
SpeedP1 = SpeedP1 / SpeedPercentage;
ScoreP1-= 1;
}
terugkeer;
}
}
VOORTDURENDE LEDS
else {}
Hiermee schakelt u de timer
Als (TimerActiveP1 == false) {}
TimerActiveP1 = true;
IntervalP1 = SpeedP1;
TimeSaveP1 = tijd;
}
de speler op de knop gedrukt op het verkeerde moment
if(P1ButtonDelay() == true) {}
TimerActiveP1 = false;
CurrentLedP1 = 0;
Als (ScoreP1 > = 3) {}
SpeedP1 = SpeedP1 / SpeedPercentage;
ScoreP1-= 1;
}
terugkeer;
}
Normale Blink
else {}
Als ((time-TimeSaveP1) < (0,25 * IntervalP1)) {}
digitalWrite((CurrenLedP1+FledP1),HIGH);
}
Als ((time-TimeSaveP1) > (0,5 * IntervalP1)) {}
digitalWrite((CurrenLedP1+FledP1),LOW);
}
}
de speler op de knop gedrukt op het juiste moment!
Als ((time-TimeSaveP1) > (IntervalP1)) {}
TimerActiveP1 = false;
CurrentLedP1 += 1;
}
}
terugkeer;
}