1 Pulsador 2 Led´s

Este seria tu código modificando algunas de las cosas que le faltan, creo que hace lo que quieres pero no lo he probado simplemente lo he compilado para ver que no tuviera errores.

int led1=10,led2=11,pulse=5;

void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(pulse,INPUT);
}

int x=3;
boolean y= true;

void loop()
{

if (digitalRead(pulse)==HIGH && y==false){
x++;
** y = true;**
} else if (digitalRead(pulse)!=HIGH) {
** y = false;**
** }**

if ( x > 3){x=0;}

switch(x)
{
case 0:
** digitalWrite(led1,HIGH);**
break;
case 1:
** digitalWrite(led1,LOW);**
break;
case 2:
** digitalWrite(led2,HIGH);**
break;
case 3:
** digitalWrite(led2,LOW);**
break;
}
}

En negrita te puesto lo que he añadido, especialmente he puesto la variable y que seria para evitar en cada loop del programa te sume x++, por eso hacían lo que querían las LED's, faltaría añadir algo más de código para evitar rebotes en el botón.

Si no entiendes alguna de las otras partes preguntar no hace daño :wink:

Edito:
Creo que el switch case no era lo que querías :cold_sweat:, pero para hacer la función de al soltar se apague utiliza nuevamente la variable y.

Un saludo!