const int ledPin = 5; const int buttonPin = 8; int buttonState = 0; int gamebuttonState = 0; int previousButtonState = 0; int counter = 0; unsigned long gameTimer; bool gameStarted = false; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); } void loop() { buttonState = digitalRead(buttonPin); if (buttonState == HIGH && !gameStarted) { flashThree(); gameStarted = true; digitalWrite(ledPin, HIGH); game(); gameStarted=false; Serial.println(counter); flashThree(); } } void flashThree() { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); } void game() { counter=0; gameTimer=millis(); while (millis()-gameTimer < 5000) { previousButtonState = buttonState; buttonState = digitalRead(buttonPin); if (previousButtonState != buttonState && buttonState == HIGH) { counter+=1; } } }