Paso 5: Sistemas de juego (el corazón de nuestro proyecto)
////////////////////////////////P1 GAME SYSTEM/////////////////////////////////////
ESTADO DE JUEGO NORMAL
void GameSystemP1() {}
cleanBoardP1();
Si (CurrentLedP1 > ScoreP1) {}
TimerActiveP1 = false;
CurrentLedP1 = 0;
Si (ScoreP1 > = 3) {}
SpeedP1 = SpeedP1 / SpeedPercentage;
ScoreP1-= 1;
}
retorno;
}
/////////////////////////////////
NOTAS
La corriente llevada nunca puede ser superior a la puntuación actual. Por lo tanto, la jugada tiene no empuja el botón, que resultan en una disminución de la puntuación.
Es importante señalar cuando el jugador pierde:
-la corriente led es retroceder a 0
-se restablece el temporizador actual
Excepto sólo cuando la puntuación está por encima de su mínimo:
-la puntuación disminuye
-la velocidad aumenta (porcentaje invertido)
////////////////////////////////
LED FINAL
Si (ScoreP1 == CurrentLedP1) {}
Se activa el temporizador
Si (TimerActiveP1 == false) {}
TimerActiveP1 = true;
IntervalP1 = SpeedP1;
TimeSaveP1 = tiempo;
}
Presionó el botón de la derecha condujo
if(P1ButtonDelay() == true) {}
TimerActiveP1 = false;
CurrentLedP1 = 0;
SpeedP1 = SpeedP1 * SpeedPercentage;
ScoreP1 += 1;
}
Encienda el led
Si ((time-TimeSaveP1) < (IntervalP1)) {}
digitalWrite((CurrenLedP1+FledP1),HIGH);
}
El jugador no Oprima el botón y por tanto pierde una ronda
Si ((time-TimeSaveP1) > (IntervalP1)) {}
TimerActiveP1 = false;
CurrentLedP1 = FledP1;
Si (ScoreP1 > = 3) {}
SpeedP1 = SpeedP1 / SpeedPercentage;
ScoreP1-= 1;
}
retorno;
}
}
CONTINUA DE LEDS
Else {}
se activa el temporizador
Si (TimerActiveP1 == false) {}
TimerActiveP1 = true;
IntervalP1 = SpeedP1;
TimeSaveP1 = tiempo;
}
el jugador presiona el botón en el momento equivocado
if(P1ButtonDelay() == true) {}
TimerActiveP1 = false;
CurrentLedP1 = 0;
Si (ScoreP1 > = 3) {}
SpeedP1 = SpeedP1 / SpeedPercentage;
ScoreP1-= 1;
}
retorno;
}
Abrir y cerrar normal
Else {}
Si ((time-TimeSaveP1) < (0.25 * IntervalP1)) {}
digitalWrite((CurrenLedP1+FledP1),HIGH);
}
Si ((time-TimeSaveP1) > (0.5 * IntervalP1)) {}
digitalWrite((CurrenLedP1+FledP1),LOW);
}
}
el jugador presionó el botón en el momento justo!!!
Si ((time-TimeSaveP1) > (IntervalP1)) {}
TimerActiveP1 = false;
CurrentLedP1 += 1;
}
}
retorno;
}