PROYECTO SIMONSAYS












 
#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

Entradas populares de este blog

SPOT DE AUDACITY