int taster =  7;     // the number of the pushbutton pin

 int LEDblau        = 2;      // the number of the LED pin
 int LEDgruen     = 4;
 int LEDrot     = 8;
 int LEDgelb   =12;
 int LEDweiss  =13;

// variables will change:
int  initial    = 0;       //hold current  initial
int oldstate    = 0;       //hold last  initial
int tasterstatus = 0;      // variable for reading the pushbutton status

void setup() {
  pinMode(LEDblau, OUTPUT);   // initialize the LED pin as an output:
  pinMode(LEDgruen, OUTPUT);
  pinMode(LEDrot, OUTPUT);
  pinMode(LEDgelb, OUTPUT);
  pinMode(LEDweiss, OUTPUT);
  pinMode(tasterstatus, INPUT); // initialize the pushbutton pin as an input:
}
void loop(){
  //debouncing routline to read button
  tasterstatus = digitalRead(taster);  //state the  initial of button
  if(tasterstatus == HIGH){               //check if it has been pressed 
    delay(50);
    tasterstatus = digitalRead(taster);//state button again
    if(tasterstatus == LOW){              //if it is 0 considered one press
     initial = oldstate+1;        //increase  initial by 1
    }
  }else{                          //check if it has been NOT pressed
      delay(100);
      }
   switch (initial){               //0/
   case 1:
       digitalWrite(LEDblau, LOW);
       digitalWrite(LEDgruen, LOW);
       digitalWrite(LEDrot, LOW);
       digitalWrite(LEDgelb, LOW);
       digitalWrite(LEDweiss, HIGH);
       oldstate =  initial;
       break;  
         case 2:
       digitalWrite(LEDblau, LOW);
       digitalWrite(LEDgruen, LOW);
       digitalWrite(LEDrot, LOW);
       digitalWrite(LEDgelb, HIGH);
       digitalWrite(LEDweiss, LOW);
       oldstate =  initial;
       break; 
     case 3:                     //if  initial is 1
       digitalWrite(LEDblau, HIGH);//on
       digitalWrite(LEDgruen, LOW);//off
       digitalWrite(LEDrot, LOW);//off
       digitalWrite(LEDgelb, LOW);
       digitalWrite(LEDweiss, LOW);
       oldstate =  initial;               //set oldstate  initial as current  initial
       break;
     case 4:
       digitalWrite(LEDblau, LOW);
       digitalWrite(LEDgruen, HIGH);
       digitalWrite(LEDrot, LOW);
       digitalWrite(LEDgelb, LOW);
       digitalWrite(LEDweiss, LOW);
       oldstate =  initial;
       break;
     case 5:
       digitalWrite(LEDblau, LOW);
       digitalWrite(LEDgruen, LOW);
       digitalWrite(LEDrot, HIGH);
       digitalWrite(LEDgelb, LOW);
       digitalWrite(LEDweiss, LOW);
       oldstate =  initial;
       break;           
     default:                      //if  initial is not 1 2 3
       digitalWrite(LEDblau, LOW);  //off
       digitalWrite(LEDgruen, LOW);
       digitalWrite(LEDrot, LOW);
       digitalWrite(LEDgelb, LOW);
       digitalWrite(LEDweiss, LOW);
       oldstate = 0;                    //reset to all off/initial 0
       break;         
     }
}