int S0=A0; int S1=A1; int S2=A2; int S3=A3; int S4=A4; int del=60; int del1=1500; long prevtime=0; const int ledCount = 10; int ledPins[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; void setup() { // put your setup code here, to run once: pinMode(S0, INPUT); pinMode(S1, INPUT); pinMode(S2, INPUT); pinMode(S3, INPUT); pinMode(S4, INPUT); for (int thisLed = 0; thisLed < ledCount; thisLed++) { pinMode(ledPins[thisLed], OUTPUT); } } void loop() { int state0=digitalRead(S0); int state1=digitalRead(S1); int state2=digitalRead(S2); int state3=digitalRead(S3); int sensorReading = analogRead(S4); int ledLevel = map(sensorReading, 0, 1023, 0, 7); int ledLevelmem=0; //unused, in a try to setup the quit statement // loop over the LED array: for (int thisLed = 0; thisLed <= 7; thisLed++) { // if the array element's index is less than ledLevel, // turn the pin for this element on: if (thisLed < ledLevel) { digitalWrite(ledPins[thisLed], HIGH); } else { digitalWrite(ledPins[thisLed], LOW); } } if (state0==1) { for(int ht0=0; ht0<=9; ht0++) { digitalWrite(ledPins[ht0],HIGH); delay(del); if (state1==1) //why this statement does not work? break; //why this statement does not work? if (ht0==9){ delay(del1); for (ht0=9; ht0>=0; ht0--) { digitalWrite(ledPins[ht0],LOW); } break; } } } if (state1==1) { for(int ht0=0; ht0<=6; ht0++) { digitalWrite(ledPins[ht0],HIGH); delay(del); if (ht0==6){ delay(del1); for (ht0=9; ht0>=0; ht0--) { digitalWrite(ledPins[ht0],LOW); } break; } } } if (state2==1) { for(int ht0=0; ht0<=5; ht0++) { digitalWrite(ledPins[ht0],HIGH); delay(del); if (ht0==5){ delay(del1); for (ht0=9; ht0>=0; ht0--) { digitalWrite(ledPins[ht0],LOW); } break; } } } if (state3==1) { for(int ht0=0; ht0<=5; ht0++) { digitalWrite(ledPins[ht0],HIGH); delay(del); if (ht0==5){ delay(del1); for (ht0=9; ht0>=0; ht0--) { digitalWrite(ledPins[ht0],LOW); } break; } } } }