Okay, here it is:
int pin[4] = {7, 6, 5, 4};
int btn = 8;
unsigned long dt = 250;
unsigned long pt = 0;
int state;
void setup() {
pinMode(btn,INPUT);
pinMode(pin[0], OUTPUT);
pinMode(pin[1], OUTPUT);
pinMode(pin[2], OUTPUT);
pinMode(pin[3], OUTPUT);
}
void loop() {
int g = digitalRead(btn);
if (g == 0) {
switch (state) {
case (0): digitalWrite(pin[0], HIGH);
break;
case (1): digitalWrite(pin[0], LOW);
break;
case (2): digitalWrite(pin[1], HIGH);
break;
case (3): digitalWrite(pin[1], LOW);
break;
case (4): digitalWrite(pin[2], HIGH);
break;
case (5): digitalWrite(pin[2], LOW);
break;
case (6): digitalWrite(pin[3], HIGH);
break;
case (7): digitalWrite(pin[3], LOW);
break;
}
if (millis() - pt > dt && state == 0) {
state = 1;
pt = millis();
}
if (millis() - pt > dt && state == 1) {
state = 2;
pt = millis();
}
if (millis() - pt > dt && state == 2) {
state = 3;
pt = millis();
}
if (millis() - pt > dt && state == 3) {
state = 4;
pt = millis();
}
if (millis() - pt > dt && state == 4) {
state = 5;
pt = millis();
}
if (millis() - pt > dt && state == 5) {
state = 6;
pt = millis();
}
if (millis() - pt > dt && state == 6) {
state = 7;
pt = millis();
}
if (millis() - pt > dt && state == 7) {
state = 0;
pt = millis();
}
}
if (g == 1) {
digitalWrite(pin[0], LOW);
digitalWrite(pin[1], LOW);
digitalWrite(pin[2], LOW);
digitalWrite(pin[3], LOW);
}
}