LED sequence help

So I have two programs that I'm trying to combine. The first program handles switches. For example, when switch A is high, LED1 will go on for 2 seconds and then turn off. Eight switches so 8 LEDs. The second program is just a sequencer for those 8 LEDs. Both programs by themselves work fine. What I'm trying to do is have the LEDs run their pattern and anytime a switch is triggered to just illuminate the corresponding LED for a couple seconds before resuming the pattern. Tried a few different ways including making 1 of the programs into a function and just calling to it but I suspect all the delays are killing the read states. Should mention that it's being used in a skeeball project. Fairly new to Arduino so I expect that I'm probably approaching this the wrong way and that my code probably isn't the most efficient, so any suggestions would be appreciated.

Included is the code I have:

Program 1( Switches)

#define LED1 9
#define LED2 10
#define LED3 11
#define LED4 12
#define LED5 13
#define LED6 A5
#define LED7 A4
#define LED8 A3

void setup(){
  
  /* Start the serial connection*/
  Serial.begin(9600);
  
  /* Configure the inputs(using the internal pull up resistor) and outputs */
  
  pinMode(0, INPUT_PULLUP); /* Switch at GUTTERBALL */
  pinMode(1, INPUT_PULLUP); /* Switch at 10 HOLE */
  pinMode(2, INPUT_PULLUP); /* Switch at 20 HOLE */
  pinMode(3, INPUT_PULLUP); /* Switch at 30 HOLE */
  pinMode(4, INPUT_PULLUP); /* Switch at 40 HOLE */
  pinMode(5, INPUT_PULLUP); /* Switch at 50 HOLE */
  pinMode(6, INPUT_PULLUP); /* Switch at LEFT 100 HOLE */
  pinMode(7, INPUT_PULLUP); /* Switch at RIGHT 100 HOLE */
  pinMode(8, INPUT_PULLUP); /* The 'START' button */
  pinMode(LED1, OUTPUT);       /* LED at GUTTERBALL */
  pinMode(LED2, OUTPUT);      /* LED at 10 HOLE */
  pinMode(LED3, OUTPUT);      /* LED at 20 HOLE */
  pinMode(LED4, OUTPUT);      /* LED at 30 HOLE */
  pinMode(LED5, OUTPUT);      /* LED at 40 HOLE */
  pinMode(LED6, OUTPUT);      /* LED at 50 HOLE */
  pinMode(LED7, OUTPUT);      /* LED at LEFTT 100 HOLE */
  pinMode(LED8, OUTPUT);      /* LED at RIGHT 100 HOLE */
}

/* Using internal pullup, so on the switches, LOW is HIGH */
void loop(){
  const int gutterBut = digitalRead(0);     /* GUTTERBALL value */
       if (gutterBut == LOW) {             /* On button press, light the led for 2 secs */
       digitalWrite(LED1, HIGH);  
       delay(2000);
       digitalWrite(LED1, LOW); 
    }
       
 const int A10But = digitalRead(1);        /* 10 HOLE value */
     if (A10But == LOW){                   /* On button press, light the led for 2 secs */
       digitalWrite(LED2, HIGH);
       delay(2000);
       digitalWrite(LED2, LOW);
    }  
  
 const int A20But = digitalRead(2);        /* 20 HOLE value */
     if (A20But == LOW){                   /* On button press, light the led for 2 secs */
       digitalWrite(LED3, HIGH);
       delay(2000);
       digitalWrite(LED3, LOW);
     }
   
 const int A30But = digitalRead(3);        /* 30 HOLE value */  
     if (A30But == LOW){                   /* On button press, light the led for 2 secs */
       digitalWrite(LED4, HIGH);
       delay(2000);
       digitalWrite(LED4, LOW);
     }
  
 const int A40But = digitalRead(4);        /* 40 HOLE value */
     if (A40But == LOW){                   /* On button press, light the led for 2 secs */
       digitalWrite(LED5, HIGH);
       delay(2000);
       digitalWrite(LED5, LOW);
     }
  
 const int A50But = digitalRead(5);        /* 50 HOLE value */   
     if (A50But == LOW){                   /* On button press, light the led for 2 secs */
       digitalWrite(LED6, HIGH);
       delay(2000);
       digitalWrite(LED6, LOW);
     }
     
 const int L100But = digitalRead(6);       /* LEFT 100 HOLE value */
     if (L100But == LOW){                  /* On button press, light the led for 2 secs */
       digitalWrite(LED7, HIGH);
       delay(2000);
       digitalWrite(LED7, LOW);
     }
     
 const int R100But = digitalRead(7);       /* RIGHT 100 HOLE value */ 
     if (R100But == LOW){                  /* On button press, light the led for 2 secs */
       digitalWrite(LED8, HIGH);
       delay(2000);
       digitalWrite(LED8, LOW);
     }
     
 delay(100);
}

Program 2 ( LED sequences) same setup and definitions as Program 1

void loop(){
  seqA();
  seqB();
  seqC();
  seqD();
  seqF();
  seqG();
}
void seqA(){
  
  digitalWrite(LED8, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED6, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED4, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED1, LOW); 


  digitalWrite(LED1, HIGH);
  delay(100);
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, HIGH);
  digitalWrite(LED3, HIGH);
  delay(100);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, HIGH);
  digitalWrite(LED5, HIGH);
  delay(100);
  digitalWrite(LED4, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED6, HIGH);
  digitalWrite(LED7, HIGH);
  delay(100);
  digitalWrite(LED6, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED8, HIGH);
}

void seqB(){
  delay(100);
  digitalWrite(LED8, LOW);
  digitalWrite(LED8, LOW);
  digitalWrite(LED6, HIGH);
  digitalWrite(LED7, HIGH);
  delay(100);
  digitalWrite(LED6, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED4, HIGH);
  digitalWrite(LED5, HIGH);
  delay(100);
  digitalWrite(LED4, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED2, HIGH);
  digitalWrite(LED3, HIGH);
  delay(100);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED1, HIGH);
  delay(100);
  digitalWrite(LED1, LOW); 
}

void seqC(){
  
  digitalWrite(LED7, HIGH);
  delay(250);
  digitalWrite(LED8, HIGH);
  digitalWrite(LED6, HIGH);
  delay(250);
  digitalWrite(LED5, HIGH);
  digitalWrite(LED4, HIGH);
  delay(250);
  digitalWrite(LED3, HIGH);
  digitalWrite(LED2, HIGH);
  delay(250);
  digitalWrite(LED1, HIGH);
  delay(250);
}

void seqD(){

  digitalWrite(LED8, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED6, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED4, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED1, LOW);  

  digitalWrite(LED8, HIGH);
  digitalWrite(LED1, HIGH);
  delay(250);
  digitalWrite(LED7, HIGH);
  digitalWrite(LED2, HIGH);
  delay(250);
  digitalWrite(LED6, HIGH);
  digitalWrite(LED3, HIGH);
  delay(250);
  digitalWrite(LED5, HIGH);
  digitalWrite(LED4, HIGH);
  delay(250);
}

void seqF(){
  
  digitalWrite(LED8, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED6, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED4, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED1, LOW);  

  digitalWrite(LED8, HIGH);
  delay(250);
  digitalWrite(LED7, HIGH);
  delay(250);
  digitalWrite(LED6, HIGH);
  delay(250);
  digitalWrite(LED5, HIGH);
  delay(250);
  digitalWrite(LED4, HIGH);
  delay(250);
  digitalWrite(LED3, HIGH);
  delay(250);
  digitalWrite(LED2, HIGH);
  delay(250);
  digitalWrite(LED1, HIGH);
  digitalWrite(LED8, LOW);
  delay(250);
  digitalWrite(LED7, LOW);
  delay(250);
  digitalWrite(LED6, LOW);
  delay(250);
  digitalWrite(LED5, LOW);
  delay(250);
  digitalWrite(LED4, LOW);
  delay(250);
  digitalWrite(LED3, LOW);
  delay(250);
  digitalWrite(LED2, LOW);
  delay(250);
  digitalWrite(LED1, LOW);
  delay(250);
}

void seqG(){
  
  digitalWrite(LED8, HIGH);
  delay(500);
  digitalWrite(LED7, HIGH);
  delay(500);
  digitalWrite(LED6, HIGH);
  delay(500);
  digitalWrite(LED5, HIGH);
  delay(500);
  digitalWrite(LED4, HIGH);
  delay(500);
  digitalWrite(LED3, HIGH);
  delay(500);
  digitalWrite(LED2, HIGH);
  delay(500);
  digitalWrite(LED1, HIGH);
  digitalWrite(LED8, LOW);
  delay(500);
  digitalWrite(LED7, LOW);
  delay(500);
  digitalWrite(LED6, LOW);
  delay(500);
  digitalWrite(LED5, LOW);
  delay(500);
  digitalWrite(LED4, LOW);
  delay(500);
  digitalWrite(LED3, LOW);
  delay(500);
  digitalWrite(LED2, LOW);
  delay(500);
  digitalWrite(LED1, LOW);
  delay(500);
}

Study the blink without delay example built into the IDE. Next look up finite state machine and write your program like this.

This will combine the two but because of al the delays in your sequences the inputs won't be very responsive.

#define LED1 9
#define LED2 10
#define LED3 11
#define LED4 12
#define LED5 13
#define LED6 A5
#define LED7 A4
#define LED8 A3

void setup(){

  /* Start the serial connection*/
  Serial.begin(9600);

  /* Configure the inputs(using the internal pull up resistor) and outputs */

  pinMode(0, INPUT_PULLUP); /* Switch at GUTTERBALL */
  pinMode(1, INPUT_PULLUP); /* Switch at 10 HOLE */
  pinMode(2, INPUT_PULLUP); /* Switch at 20 HOLE */
  pinMode(3, INPUT_PULLUP); /* Switch at 30 HOLE */
  pinMode(4, INPUT_PULLUP); /* Switch at 40 HOLE */
  pinMode(5, INPUT_PULLUP); /* Switch at 50 HOLE */
  pinMode(6, INPUT_PULLUP); /* Switch at LEFT 100 HOLE */
  pinMode(7, INPUT_PULLUP); /* Switch at RIGHT 100 HOLE */
  pinMode(8, INPUT_PULLUP); /* The 'START' button */
  pinMode(LED1, OUTPUT);       /* LED at GUTTERBALL */
  pinMode(LED2, OUTPUT);      /* LED at 10 HOLE */
  pinMode(LED3, OUTPUT);      /* LED at 20 HOLE */
  pinMode(LED4, OUTPUT);      /* LED at 30 HOLE */
  pinMode(LED5, OUTPUT);      /* LED at 40 HOLE */
  pinMode(LED6, OUTPUT);      /* LED at 50 HOLE */
  pinMode(LED7, OUTPUT);      /* LED at LEFTT 100 HOLE */
  pinMode(LED8, OUTPUT);      /* LED at RIGHT 100 HOLE */
}

void loop(){
  checkInputs();
  seqA();
  checkInputs();
  seqB();
  checkInputs();
  seqC();
  checkInputs();
  seqD();
  checkInputs();
  seqF();
  checkInputs();
  seqG();
}



/* Using internal pullup, so on the switches, LOW is HIGH */
void checkInputs() {

  if (!digitalRead(0)) {             /* On button press, light the led for 2 secs */
    digitalWrite(LED1, HIGH);  
    delay(2000);
    digitalWrite(LED1, LOW); 
  }

  if (!digitalRead(1)) {                   /* On button press, light the led for 2 secs */
    digitalWrite(LED2, HIGH);
    delay(2000);
    digitalWrite(LED2, LOW);
  }  

  if (!digitalRead(2)) {                   /* On button press, light the led for 2 secs */
    digitalWrite(LED3, HIGH);
    delay(2000);
    digitalWrite(LED3, LOW);
  }

  if (!digitalRead(3)) {                   /* On button press, light the led for 2 secs */
    digitalWrite(LED4, HIGH);
    delay(2000);
    digitalWrite(LED4, LOW);
  }

  if (!digitalRead(4)) {                   /* On button press, light the led for 2 secs */
    digitalWrite(LED5, HIGH);
    delay(2000);
    digitalWrite(LED5, LOW);
  }

  if (!digitalRead(5)) {                   /* On button press, light the led for 2 secs */
    digitalWrite(LED6, HIGH);
    delay(2000);
    digitalWrite(LED6, LOW);
  }

  if (!digitalRead(6)) {                  /* On button press, light the led for 2 secs */
    digitalWrite(LED7, HIGH);
    delay(2000);
    digitalWrite(LED7, LOW);
  }

  if (!digitalRead(7)) {                  /* On button press, light the led for 2 secs */
    digitalWrite(LED8, HIGH);
    delay(2000);
    digitalWrite(LED8, LOW);
  }

  delay(100);
}


void seqA() {
  digitalWrite(LED8, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED6, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED4, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED1, LOW); 

  digitalWrite(LED1, HIGH);
  delay(100);
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, HIGH);
  digitalWrite(LED3, HIGH);
  delay(100);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, HIGH);
  digitalWrite(LED5, HIGH);
  delay(100);
  digitalWrite(LED4, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED6, HIGH);
  digitalWrite(LED7, HIGH);
  delay(100);
  digitalWrite(LED6, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED8, HIGH);
}

void seqB() {
  delay(100);
  digitalWrite(LED8, LOW);
  digitalWrite(LED8, LOW);
  digitalWrite(LED6, HIGH);
  digitalWrite(LED7, HIGH);
  delay(100);
  digitalWrite(LED6, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED4, HIGH);
  digitalWrite(LED5, HIGH);
  delay(100);
  digitalWrite(LED4, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED2, HIGH);
  digitalWrite(LED3, HIGH);
  delay(100);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED1, HIGH);
  delay(100);
  digitalWrite(LED1, LOW); 
}

void seqC() {
  digitalWrite(LED7, HIGH);
  delay(250);
  digitalWrite(LED8, HIGH);
  digitalWrite(LED6, HIGH);
  delay(250);
  digitalWrite(LED5, HIGH);
  digitalWrite(LED4, HIGH);
  delay(250);
  digitalWrite(LED3, HIGH);
  digitalWrite(LED2, HIGH);
  delay(250);
  digitalWrite(LED1, HIGH);
  delay(250);
}

void seqD() {
  digitalWrite(LED8, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED6, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED4, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED1, LOW);  

  digitalWrite(LED8, HIGH);
  digitalWrite(LED1, HIGH);
  delay(250);
  digitalWrite(LED7, HIGH);
  digitalWrite(LED2, HIGH);
  delay(250);
  digitalWrite(LED6, HIGH);
  digitalWrite(LED3, HIGH);
  delay(250);
  digitalWrite(LED5, HIGH);
  digitalWrite(LED4, HIGH);
  delay(250);
}

void seqF() {
  digitalWrite(LED8, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED6, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED4, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED1, LOW);  

  digitalWrite(LED8, HIGH);
  delay(250);
  digitalWrite(LED7, HIGH);
  delay(250);
  digitalWrite(LED6, HIGH);
  delay(250);
  digitalWrite(LED5, HIGH);
  delay(250);
  digitalWrite(LED4, HIGH);
  delay(250);
  digitalWrite(LED3, HIGH);
  delay(250);
  digitalWrite(LED2, HIGH);
  delay(250);
  digitalWrite(LED1, HIGH);
  digitalWrite(LED8, LOW);
  delay(250);
  digitalWrite(LED7, LOW);
  delay(250);
  digitalWrite(LED6, LOW);
  delay(250);
  digitalWrite(LED5, LOW);
  delay(250);
  digitalWrite(LED4, LOW);
  delay(250);
  digitalWrite(LED3, LOW);
  delay(250);
  digitalWrite(LED2, LOW);
  delay(250);
  digitalWrite(LED1, LOW);
  delay(250);
}

void seqG() {
  digitalWrite(LED8, HIGH);
  delay(500);
  digitalWrite(LED7, HIGH);
  delay(500);
  digitalWrite(LED6, HIGH);
  delay(500);
  digitalWrite(LED5, HIGH);
  delay(500);
  digitalWrite(LED4, HIGH);
  delay(500);
  digitalWrite(LED3, HIGH);
  delay(500);
  digitalWrite(LED2, HIGH);
  delay(500);
  digitalWrite(LED1, HIGH);
  digitalWrite(LED8, LOW);
  delay(500);
  digitalWrite(LED7, LOW);
  delay(500);
  digitalWrite(LED6, LOW);
  delay(500);
  digitalWrite(LED5, LOW);
  delay(500);
  digitalWrite(LED4, LOW);
  delay(500);
  digitalWrite(LED3, LOW);
  delay(500);
  digitalWrite(LED2, LOW);
  delay(500);
  digitalWrite(LED1, LOW);
  delay(500);
}