#include <EducationShield.h>
int ledPins[] = {2, 3, 4, 5, 6};
int pinCount = 5;
VUMeter vuMeter;
Knob pot=Knob(A0);
Button button = Button(9);
Melody piezo=Melody(8);
int turns_begin=2;
int turns_max=10;
int game[10];
int turns=2;
int blinkTime=500;
void setup(){
vuMeter.config(pinCount, ledPins);
vuMeter.begin();
pot.setLevels(5);
button.begin();
randomSeed(analogRead(A5));
}
void loop(){
newGame();
simonSays();
delay(1000);
getInputs();
}
void newGame(){
vuMeter.blinkAll(200, 3);
vuMeter.clear();
delay(500);
for(int i=0;i<turns;i++){
game[i]=random(pinCount);
}
}
void simonSays(){
for(int i=0;i<turns;i++){
vuMeter.on(game[i]);
delay(blinkTime);
vuMeter.off(game[i]);
delay(blinkTime);
}
}
void getInputs(){
for(int i=0;i<turns;i++){
int input;
while(!button.released(10)){
vuMeter.clear();
vuMeter.on(pot.getLevel());
}
input=pot.getLevel();
if(input==game[i]){
piezo.effect_score();
}else{
gameOver();
return ;
}
delay(500);
levelUp();
}
void gameOver(){
turns=turns_begin;
piezo.effect_gameover();
}
void levelUp(){
if(turns<turns_max){
turns++;
}
piezo.effect_win();
}
Comentarios
Publicar un comentario