Encendido de LEDs con dos pulsadores

Buenas, ayer me compre el kit starter de Arduino para aprender a programar y demas.

No tengo ni idea de programación en este lenguaje (solo se en ensamblador)

He mirado algunos tutoriales y estaba intentando hacer un programa por mi cuenta con lo aprendido, aqui el codigo

La idea es con un pulasdor encender 2 leds y con otro pulsador los otros 2 leds, es muy sencillo y muy absurdo pero, como he dicho, estoy empezando

int pulsador = 0; 
int pulsador2 = 0;
int pulsadorAntes = 0;
int p2Antes = 0;
int salidas = 0;
int salidas2 = 0;

void setup() {
    pinMode(3, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
    pinMode(7, INPUT);
    pinMode(8, INPUT);
}

void loop() {
    pulsador = digitalRead(7);
    pulsador2 = digitalRead(8);

if((pulsador == HIGH) && (pulsadorAntes == LOW)) {
  salidas = 1 - salidas;
}
    pulsadorAntes = pulsador;
    p2Antes = pulsador2;
    
if((pulsador2 == HIGH) && (p2Antes == LOW)) {
  salidas2 = 1 - salidas2;
}
    
if(salidas == 1) {
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH); }
    else{
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
}
if(salidas2 == 1) {
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
}
    else {
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
}
}

No logro hacer que funcione como es debido, a veces parpadean los leds, a veces no se encienden, no se que he hecho mal, alguien me podria guiar un poco?

Gracias

Hola!
Mira te dejo un codigo, es sencillo, y el #define, tambien si quieres lo pueden cambiar por Int, ya que es un numero entero, pero para este caso #define, funciona igual.

#define led1 4
#define led2 5
#define led3 6
#define led4 7

#define pulsador1 8
#define pulsador2 9

boolean state1 = false;
boolean state2 = false;

void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);

pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);

pinMode(pulsador1, INPUT);
pinMode(pulsador2, INPUT);

}
void loop()
{
if(digitalRead(pulsador1))
{
  if(!state1)
    {
      digitalWrite(led1,HIGH);
      digitalWrite(led2,HIGH);
      state1 = true;
    }
  else
   {
      digitalWrite(led1,LOW);
      digitalWrite(led2,LOW);
      state1 = false;
   }
}
if(digitalRead(pulsador2))
{
  if(!state2)
    {
      digitalWrite(led3,HIGH);
      digitalWrite(led4,HIGH);
      state2= true;
    }
  else
   {
      digitalWrite(led3,LOW);
      digitalWrite(led4,LOW);
      state2 = false;
   }
}


}

y porque no sigues los tutoriales que hay en el subforo DOCUMENTACION. Tienen videos y son muy llevadores.
Verás como comprendes mejor la programación de arduino luego de verlos.