// https://wokwi.com/projects/391667794741666817
// https://forum.arduino.cc/t/built-in-and-out-led-effect-direction-help/1230282

# define SIZE 9
byte pins[9] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

# define t0  100
# define t1  300
# define t2  800

void setup() {
  Serial.begin(115200);
  Serial.println("for loop version N\n");

  for (int ix = 0; ix < SIZE; ix++)
    pinMode(pins[ix], OUTPUT);
}

void loop() {
  fileOnLeft();
  fileOffRight();
}

// turn on from the left starting from all off
void fileOnLeft()
{
  for (int ix = 0; ix < SIZE; ix++) {
    byte K = SIZE - 1;

    for (int iy = 0; iy < SIZE - ix; iy++) {
      digitalWrite(pins[K - iy], HIGH);
      delay(t0);
      if (K - iy != ix) digitalWrite(pins[K - iy], LOW);
    }

    delay(t1);
  }
  delay(t2);
}

// turn off from the right starting from all on
void fileOffRight()
{
  for (int ix = 0; ix < SIZE; ix++) {
    byte K = ix - 1;

    digitalWrite(pins[ix], LOW);

    for (int iy = 0; iy < ix; iy++) {
      digitalWrite(pins[K - iy], HIGH);
      delay(t0);
      digitalWrite(pins[K - iy], LOW);
    }

    delay(t1);
  }
  delay(t2);
}