Reaction timer HELP

Hi there!
I have a bit of a problem. There are 6 LEDs(2xgreen, 2x red, 2xyellow) that light up in a random way. I want to print for what time when a green LED lights up I press the button. Here's the code and thanks in advance !!

int led1 = 2;     //red LED
int led2 = 4;     //the first green LED
int led3 = 6;     //yellow LED
int led4 = 7;     //second red LED
int led5 = 9;     //the second green LED
int led6 = 11;    //second yellow LED
int but = 12;
int piezzo = 10;  
int pot = A0;     
int sluchaino;    
int i;

void setup() {
 pinMode(led1, OUTPUT);
 pinMode(led2, OUTPUT);
 pinMode(led3, OUTPUT);
 pinMode(led4, OUTPUT);
 pinMode(led5, OUTPUT);
 pinMode(led6, OUTPUT);
 pinMode(but, INPUT);
 Serial.begin(9600);
}

void loop() {
 //random generator
 int potVal = analogRead(pot);
 potVal = map(potVal, 0, 1023, 25, 250);

 for (i = 2; i <= 7; i++) {
   randomSeed(analogRead(A5));
   sluchaino = random(2, 11);
   //Serial.println(sluchaino);
   delay(potVal);
 }

 if (sluchaino == 2) {
   digitalWrite(led1, HIGH);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
 } else if (sluchaino == 4) {
   digitalWrite(led1, LOW);
   digitalWrite(led2, HIGH);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
 } else if (sluchaino == 6) {
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, HIGH);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
 } else if (sluchaino == 7) {
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, HIGH);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
 } else if (sluchaino == 9) {
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, HIGH);
   digitalWrite(led6, LOW);
 } else {
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, HIGH);
 }

 if (digitalRead(led2) == HIGH || digitalRead(led5) == HIGH) {
   unsigned long Start = millis();
   if (digitalRead(but) == HIGH) {
     unsigned long Stop = millis();
       unsigned long Elapsed = Stop - Start;
       Serial.println(Elapsed);
     }
   }
 }

Moderator edit:
</mark> <mark>[code]</mark> <mark>

</mark> <mark>[/code]</mark> <mark>
tags added.

Welcome to the forum!

If you use the code tags (</>) it makes your code much easier to read.

You dont really say what the problem is but I'm guessing that the Elapsed time is always a constant low value?

This is because you re-set the value of Start each time you go around the main loop regardless of whether the status of the LED's actually changed or not.

You need to remember the previous state of the relevant LED's and only set Start when they change.

       if (digitalRead(led2) == HIGH || digitalRead(led5) == HIGH) {
		if (previously_off) {
                    Start = millis();
                    previously_off=FALSE;
                };
		if (digitalRead(but) == HIGH) {
			unsigned long Stop = millis();
			unsigned long Elapsed = Stop - Start;
			Serial.println(Elapsed);
	         }
	} else {
               previously_off=TRUE;
        }