This is a game where you want to push the button when the middle LED lights up. Just a little more advanced while loop than the last one. int button = 2; // declares pushbutton int pin= 4; // declares LEDs int pin1= 6; int pin2= 8; int pin3= 10; int pin4= 12; int wait= 100; // this will be used for delays int score = 0; // this will tell you how many times you got it int wrong = 0; // if your wrong too many times the game starts over void setup () { pinMode(pin, OUTPUT); // sets as output pinMode(pin1, OUTPUT); pinMode(pin2, OUTPUT); pinMode(pin3, OUTPUT); pinMode(pin4, OUTPUT); pinMode(button, INPUT); // sets as input Serial.begin(9600); } void loop () { while (digitalRead(button) == LOW) // when the button is low, do the following { for (int x = 4; x<=12; x=x+2) // sets loop to cycle through lighting up LEDs { digitalWrite(x, HIGH); delay(wait); if (digitalRead(button) == HIGH) // if the button is press { if (x == 8) // and the LED 8 is on { delay(1500); // wait 1.5 seconds score= score+1; // add one to the score Serial.println(score); // relay score back to computer wait = wait*.9; // decrease delay between LEDs } else { digitalWrite(x, LOW); // if button is pressed and its not the right LED x = 2; // loop starts over wrong= wrong+1; // the wrong count increases if (wrong == 5) // if you get 5 wrong { for (int x = 4; x<=12; x=x+2) { digitalWrite(x, HIGH); // all lights will come on delay(1000); wrong = 0; // resets wrong count score = 0; // resests score wait = 100; // resets delay time } } } } digitalWrite(x, LOW); } } } |