LED Runner with Interrupt Request (IRQ)

i attempting create LED runner with LED's move from Digital Pin 3 until Digital Pin 13 one by one, and when push button pressed, LED runner will stop forever when LED's reach to Digital Pin 13.

LED runner will resume again with press again push button.

board are i using is Maker UNO ver1.1 as attachment picture.

here is my sketch.

/*
  LED Runner with IRQ
*/

// assign global variable
volatile bool Flag = true;

void setup()
{
  int PinNo;
  /*
    because Maker UNO push button default used D2 pin, 
    so select D2 pin as interrupt Pin
  */
  int InterruptPin = 2;

  pinMode(InterruptPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(InterruptPin), SetFlag , FALLING);
  // set pin from D3 until D13 as OUTPUT
  for (PinNo = 3; PinNo <= 13; PinNo ++)
  {
    pinMode(PinNo, OUTPUT);
  }
}

void loop()
{
  int PinNo;

  if (Flag)
  {
    for (PinNo = 3; PinNo <= 13; PinNo ++)
    {
      digitalWrite(PinNo, HIGH);
      delay(500);
      digitalWrite(PinNo, LOW);
    }
  }
}

void SetFlag()
{
  Flag = ! Flag;
}

hoping my sketch can give you more idea how to use interrupts.