#include <LiquidCrystal.h> 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int LEDR = 8; 
int LEDB = 7; 
int LEDGr= 6; 
int Button = 9;

int COLOR;
int Beep;
int PSE;
int TME;
int RTME = 0;


void setup() { 
  lcd.begin(16, 2);
  pinMode(LEDR, OUTPUT);
  // Set LED pins as output
  pinMode(LEDB, OUTPUT);
  pinMode(LEDGr, OUTPUT);
  pinMode(Button, INPUT); 
  digitalWrite(LEDR, LOW);
  digitalWrite(LEDB, LOW);
  digitalWrite(LEDGr, LOW);

}

void loop() {
  lcd.clear(); 
  lcd.print ("Hold Button to"); 
  lcd.setCursor(0, 1);
  lcd.print("start.");
  while (digitalRead(Button) == LOW) { 
    tone(13, 1200, 30);
    delay(1400);
    noTone(13);
  }
  lcd.clear();
  digitalWrite(LEDR, HIGH); 
  digitalWrite(LEDB, HIGH);
  digitalWrite(LEDGr, HIGH);
  randomSeed (analogRead (0)); 
  COLOR = random(1, 4);
  PSE = random(500, 1200);
  while (COLOR != 1 && digitalRead(Button) == HIGH) { 
    digitalWrite(LEDGr, HIGH);  
    digitalWrite(LEDB, HIGH); 
    delay(PSE);
    randomSeed (analogRead(0));
    Beep = random(1, 4); 
    PSE = random(750, 1200); 

    if (Beep == 1) {
      tone(13, 1600, 350);
      delay(750);
      noTone(13);
    }
    if (COLOR== 2) {
      digitalWrite(LEDGr, LOW);
    }
    if (COLOR== 3) {
      digitalWrite(LEDB, LOW);
    }
    delay(PSE);
    randomSeed (analogRead(0));
    COLOR = random(1, 4); // Select random color
  }
// Execute this loop if color is red
if (COLOR== 1 && digitalRead(Button) == HIGH) { 
  digitalWrite(LEDGr, HIGH);
  digitalWrite(LEDB, HIGH);
  delay(PSE);
  TME= millis();
  digitalWrite(LEDR, LOW);

  while (digitalRead(Button) == HIGH) { 
    delay(1);
  }

  lcd.display();
  RTME = millis() - TME; 
  lcd.print("Reaction Time:"); 
  lcd.setCursor(0, 1);
  lcd.print(RTME);
}

  if(COLOR != 1){
    lcd.print("Realeased too");
    lcd.setCursor(0,1);
    lcd.print("soon!!!");
    tone(13, 3000, 1500);
    delay(500);
    noTone(13);
  }

  while(digitalRead(Button) == LOW){
    delay(10);
  }

  digitalWrite(LEDR, LOW);
  digitalWrite(LEDR, LOW);
  digitalWrite(LEDR, LOW);
  lcd.clear();
  lcd.print("Hold button to");
  lcd.setCursor(0,1);
  lcd.print("start.");
  int Time = 0;
  delay(1000);
}
$abcdeabcde151015202530fghijfghij
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
lcd1:VSS
lcd1:VDD
lcd1:V0
lcd1:RS
lcd1:RW
lcd1:E
lcd1:D0
lcd1:D1
lcd1:D2
lcd1:D3
lcd1:D4
lcd1:D5
lcd1:D6
lcd1:D7
lcd1:A
lcd1:K
pot1:GND
pot1:SIG
pot1:VCC
rgb1:R
rgb1:COM
rgb1:G
rgb1:B
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
r4:1
r4:2
bz1:1
bz1:2