// switch (myProgrammState) { // Check the current state
// case prepareState: // If in prepare state
// // Turn off LEDs
// digitalWrite(ledPin1, LOW); // Turn off LED 1
// digitalWrite(ledPin2, LOW); // Turn off LED 2
// // Generate random delay time
// randomDelayTime = random(1000, 5000); // Generate random delay between 1 to 5 seconds
// // Wait until buttons are released
// while ((digitalRead(buttonPin1) == true) || (digitalRead(buttonPin2) == true)) {} // Wait until both buttons are released
// // Switch state to waitState
// myProgrammState = waitState; // Change state to wait state
// // Clear displays
// display1.clear(); // Clear display 1
// display2.clear(); // Clear display 2
// display3.clear(); // Clear display 3
// // Display random delay time on display2
// display2.showNumberDecEx(randomDelayTime, false, 2, 4); // Show random delay time on display 2
// break;
// case waitState: // If in wait state
// // Delay for random amount of time
// delay(randomDelayTime); // Wait for the random delay time
// // Turn on LEDs
// digitalWrite(ledPin1, HIGH); // Turn on LED 1
// digitalWrite(ledPin2, HIGH); // Turn on LED 2
// // Switch state to timingState
// myProgrammState = timingState; // Change state to timing state
// // Record start time
// timerStartMillis = millis(); // Record the start time
// break;
// case timingState: // If in timing state
// // Check if button1 is pressed
// if (digitalRead(buttonPin1) == true) { // Check if button 1 is pressed
// // Record end time
// timerEndMillis = millis(); // Record the end time
// // Turn off LED
// digitalWrite(ledPin1, LOW); // Turn off LED 1
// // Calculate reaction time
// long difference = timerEndMillis - timerStartMillis; // Calculate the difference in time
// // Display reaction time on display1
// display1.clear(); // Clear display 1
// // Display reaction time on display1
// display1.showNumberDecEx(difference, false, 2, 4); // Show reaction time on display 1
// // Delay to display message
// delay(5000); // Delay for 5 seconds
// // Switch state to prepareState
// myProgrammState = prepareState; // Change state to prepare state
// break;
// }