int LED_PIN = 5;
int BUTTON_PIN = 8;
byte numbers[3] {0};
int user_input_timeout = 5000;

volatile int userClicks;

void setup() {
  Serial.begin(9600);
  enableOutputOn(LED_PIN);
  enableInputOn(BUTTON_PIN);

  initRandomNumbers();

  blinkWelcome();

  blinkSimonSays(numbers[0]);
}

// the loop function runs over and over again forever
void loop() {
  delay(150);
}

void enableOutputOn(int pin){
  pinMode(pin, OUTPUT);
}

void enableInputOn(int pin){
  pinMode(pin, INPUT);
}

void initRandomNumbers(){
  Serial.println(analogRead(1));
  randomSeed(analogRead(1));
  random(1, 8);
  numbers[0] = random(1, 8);
  numbers[1] = random(1, 8);
  numbers[2] = random(1, 8);
  Serial.println(numbers[0]);
  Serial.println(numbers[1]);
  Serial.println(numbers[2]);
}

void blinkYes(){
  blinkFast(2);
}

void blinkNo(){
  blinkSlow(1);
}

void blinkWelcome(){
  blinkFast(5);
  delay(1000);
}

void blinkSimonSays(int number){
  blink(number, 350);
}

void blinkFast(int count){
  blink(count, 150);
}

void blinkSlow(int count){
  blink(count, 1000);
}

void blink(int count, int delayMillis){
  for(int i = 0; i < count; i++) {
    blinkOnce(delayMillis);
  }
}

void blinkOnce(int delayMillis){
  digitalWrite(LED_PIN, HIGH);
  delay(delayMillis);
  digitalWrite(LED_PIN, LOW);
  delay(delayMillis);
}


uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
r1:1
r1:2