#include <FastLED.h>
#define NUM_LEDS 250
#define DATA_PIN 3
#define BOUNCE_SWITCH 0
#define MAX_FRAMES 0

CRGB leds[NUM_LEDS];
int frameIndex = 0;

void shiftRight() {
    CRGB tempColor = leds[NUM_LEDS - 1];
    for(int ledIndex = NUM_LEDS - 1; ledIndex > 0; ledIndex -= 1) {
        leds[ledIndex].setRGB(leds[ledIndex - 1].r, leds[ledIndex - 1].g, leds[ledIndex - 1].b);
    }
    leds[0] = tempColor; 
}

void shiftLeft() {
    CRGB tempColor = leds[0];
    for(int ledIndex = 0; ledIndex < NUM_LEDS - 1; ledIndex += 1) {
        leds[ledIndex].setRGB(leds[ledIndex + 1].r, leds[ledIndex + 1].g, leds[ledIndex + 1].b);
    }
    leds[NUM_LEDS - 1] = tempColor; 
}

int nextFrameIndex() {
  if (frameIndex < MAX_FRAMES) {
      return frameIndex + 1;
    } else {
      return 0;
    }
}

void bounceRight() {
  if (frameIndex < BOUNCE_SWITCH) {
      shiftRight();
  } else {
      shiftLeft();
  }
  frameIndex = nextFrameIndex(); 
}

void bounceLeft() {
  if (frameIndex < BOUNCE_SWITCH) {
      shiftLeft();
  } else {
      shiftRight();
  }
  frameIndex = nextFrameIndex(); 
}

void setup() {
    FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.setBrightness(255);
    FastLED.clear();
    // Frame 1
	leds[0].setRGB(18, 243, 74);
	leds[1].setRGB(243, 74, 18);
	leds[2].setRGB(18, 243, 74);
	leds[3].setRGB(243, 74, 18);
	leds[4].setRGB(18, 243, 74);
	leds[5].setRGB(243, 74, 18);
	leds[6].setRGB(18, 243, 74);
	leds[7].setRGB(243, 74, 18);
	leds[8].setRGB(18, 243, 74);
	leds[9].setRGB(243, 74, 18);
	leds[10].setRGB(18, 243, 74);
	leds[11].setRGB(243, 74, 18);
	leds[12].setRGB(18, 243, 74);
	leds[13].setRGB(243, 74, 18);
	leds[14].setRGB(18, 243, 74);
	leds[15].setRGB(243, 74, 18);
	leds[16].setRGB(18, 243, 74);
	leds[17].setRGB(243, 74, 18);
	leds[18].setRGB(18, 243, 74);
	leds[19].setRGB(243, 74, 18);
	leds[20].setRGB(18, 243, 74);
	leds[21].setRGB(243, 74, 18);
	leds[22].setRGB(18, 243, 74);
	leds[23].setRGB(243, 74, 18);
	leds[24].setRGB(18, 243, 74);
	leds[25].setRGB(243, 74, 18);
	leds[26].setRGB(18, 243, 74);
	leds[27].setRGB(243, 74, 18);
	leds[28].setRGB(18, 243, 74);
	leds[29].setRGB(243, 74, 18);
	leds[30].setRGB(18, 243, 74);
	leds[31].setRGB(243, 74, 18);
	leds[32].setRGB(18, 243, 74);
	leds[33].setRGB(243, 74, 18);
	leds[34].setRGB(18, 243, 74);
	leds[35].setRGB(243, 74, 18);
	leds[36].setRGB(18, 243, 74);
	leds[37].setRGB(243, 74, 18);
	leds[38].setRGB(18, 243, 74);
	leds[39].setRGB(243, 74, 18);
	leds[40].setRGB(18, 243, 74);
	leds[41].setRGB(243, 74, 18);
	leds[42].setRGB(18, 243, 74);
	leds[43].setRGB(243, 74, 18);
	leds[44].setRGB(18, 243, 74);
	leds[45].setRGB(243, 74, 18);
	leds[46].setRGB(18, 243, 74);
	leds[47].setRGB(243, 74, 18);
	leds[48].setRGB(18, 243, 74);
	leds[49].setRGB(243, 74, 18);
	leds[50].setRGB(18, 243, 74);
	leds[51].setRGB(243, 74, 18);
	leds[52].setRGB(18, 243, 74);
	leds[53].setRGB(243, 74, 18);
	leds[54].setRGB(18, 243, 74);
	leds[55].setRGB(243, 74, 18);
	leds[56].setRGB(18, 243, 74);
	leds[57].setRGB(243, 74, 18);
	leds[58].setRGB(18, 243, 74);
	leds[59].setRGB(243, 74, 18);
	leds[60].setRGB(18, 243, 74);
	leds[61].setRGB(243, 74, 18);
	leds[62].setRGB(18, 243, 74);
	leds[63].setRGB(243, 74, 18);
	leds[64].setRGB(18, 243, 74);
	leds[65].setRGB(243, 74, 18);
	leds[66].setRGB(18, 243, 74);
	leds[67].setRGB(243, 74, 18);
	leds[68].setRGB(18, 243, 74);
	leds[69].setRGB(243, 74, 18);
	leds[70].setRGB(18, 243, 74);
	leds[71].setRGB(243, 74, 18);
	leds[72].setRGB(18, 243, 74);
	leds[73].setRGB(243, 74, 18);
	leds[74].setRGB(18, 243, 74);
	leds[75].setRGB(243, 74, 18);
	leds[76].setRGB(18, 243, 74);
	leds[77].setRGB(243, 74, 18);
	leds[78].setRGB(18, 243, 74);
	leds[79].setRGB(243, 74, 18);
	leds[80].setRGB(18, 243, 74);
	leds[81].setRGB(243, 74, 18);
	leds[82].setRGB(18, 243, 74);
	leds[83].setRGB(243, 74, 18);
	leds[84].setRGB(18, 243, 74);
	leds[85].setRGB(243, 74, 18);
	leds[86].setRGB(18, 243, 74);
	leds[87].setRGB(243, 74, 18);
	leds[88].setRGB(18, 243, 74);
	leds[89].setRGB(243, 74, 18);
	leds[90].setRGB(18, 243, 74);
	leds[91].setRGB(243, 74, 18);
	leds[92].setRGB(18, 243, 74);
	leds[93].setRGB(243, 74, 18);
	leds[94].setRGB(18, 243, 74);
	leds[95].setRGB(243, 74, 18);
	leds[96].setRGB(18, 243, 74);
	leds[97].setRGB(243, 74, 18);
	leds[98].setRGB(18, 243, 74);
	leds[99].setRGB(243, 74, 18);
	leds[100].setRGB(18, 243, 74);
	leds[101].setRGB(243, 74, 18);
	leds[102].setRGB(18, 243, 74);
	leds[103].setRGB(243, 74, 18);
	leds[104].setRGB(18, 243, 74);
	leds[105].setRGB(243, 74, 18);
	leds[106].setRGB(18, 243, 74);
	leds[107].setRGB(243, 74, 18);
	leds[108].setRGB(18, 243, 74);
	leds[109].setRGB(243, 74, 18);
	leds[110].setRGB(18, 243, 74);
	leds[111].setRGB(243, 74, 18);
	leds[112].setRGB(18, 243, 74);
	leds[113].setRGB(243, 74, 18);
	leds[114].setRGB(18, 243, 74);
	leds[115].setRGB(243, 74, 18);
	leds[116].setRGB(18, 243, 74);
	leds[117].setRGB(243, 74, 18);
	leds[118].setRGB(18, 243, 74);
	leds[119].setRGB(243, 74, 18);
	leds[120].setRGB(18, 243, 74);
	leds[121].setRGB(243, 74, 18);
	leds[122].setRGB(18, 243, 74);
	leds[123].setRGB(243, 74, 18);
	leds[124].setRGB(18, 243, 74);
	leds[125].setRGB(243, 74, 18);
	leds[126].setRGB(18, 243, 74);
	leds[127].setRGB(243, 74, 18);
	leds[128].setRGB(18, 243, 74);
	leds[129].setRGB(243, 74, 18);
	leds[130].setRGB(18, 243, 74);
	leds[131].setRGB(243, 74, 18);
	leds[132].setRGB(18, 243, 74);
	leds[133].setRGB(243, 74, 18);
	leds[134].setRGB(18, 243, 74);
	leds[135].setRGB(243, 74, 18);
	leds[136].setRGB(18, 243, 74);
	leds[137].setRGB(243, 74, 18);
	leds[138].setRGB(18, 243, 74);
	leds[139].setRGB(243, 74, 18);
	leds[140].setRGB(18, 243, 74);
	leds[141].setRGB(243, 74, 18);
	leds[142].setRGB(18, 243, 74);
	leds[143].setRGB(243, 74, 18);
	leds[144].setRGB(18, 243, 74);
	leds[145].setRGB(243, 74, 18);
	leds[146].setRGB(18, 243, 74);
	leds[147].setRGB(243, 74, 18);
	leds[148].setRGB(18, 243, 74);
	leds[149].setRGB(243, 74, 18);
	leds[150].setRGB(18, 243, 74);
	leds[151].setRGB(243, 74, 18);
	leds[152].setRGB(18, 243, 74);
	leds[153].setRGB(243, 74, 18);
	leds[154].setRGB(18, 243, 74);
	leds[155].setRGB(243, 74, 18);
	leds[156].setRGB(18, 243, 74);
	leds[157].setRGB(243, 74, 18);
	leds[158].setRGB(18, 243, 74);
	leds[159].setRGB(243, 74, 18);
	leds[160].setRGB(18, 243, 74);
	leds[161].setRGB(243, 74, 18);
	leds[162].setRGB(18, 243, 74);
	leds[163].setRGB(243, 74, 18);
	leds[164].setRGB(18, 243, 74);
	leds[165].setRGB(243, 74, 18);
	leds[166].setRGB(18, 243, 74);
	leds[167].setRGB(243, 74, 18);
	leds[168].setRGB(18, 243, 74);
	leds[169].setRGB(243, 74, 18);
	leds[170].setRGB(18, 243, 74);
	leds[171].setRGB(243, 74, 18);
	leds[172].setRGB(18, 243, 74);
	leds[173].setRGB(243, 74, 18);
	leds[174].setRGB(18, 243, 74);
	leds[175].setRGB(243, 74, 18);
	leds[176].setRGB(18, 243, 74);
	leds[177].setRGB(243, 74, 18);
	leds[178].setRGB(18, 243, 74);
	leds[179].setRGB(243, 74, 18);
	leds[180].setRGB(18, 243, 74);
	leds[181].setRGB(243, 74, 18);
	leds[182].setRGB(18, 243, 74);
	leds[183].setRGB(243, 74, 18);
	leds[184].setRGB(18, 243, 74);
	leds[185].setRGB(243, 74, 18);
	leds[186].setRGB(18, 243, 74);
	leds[187].setRGB(243, 74, 18);
	leds[188].setRGB(18, 243, 74);
	leds[189].setRGB(243, 74, 18);
	leds[190].setRGB(18, 243, 74);
	leds[191].setRGB(243, 74, 18);
	leds[192].setRGB(18, 243, 74);
	leds[193].setRGB(243, 74, 18);
	leds[194].setRGB(18, 243, 74);
	leds[195].setRGB(243, 74, 18);
	leds[196].setRGB(18, 243, 74);
	leds[197].setRGB(243, 74, 18);
	leds[198].setRGB(18, 243, 74);
	leds[199].setRGB(243, 74, 18);
	leds[200].setRGB(18, 243, 74);
	leds[201].setRGB(243, 74, 18);
	leds[202].setRGB(18, 243, 74);
	leds[203].setRGB(243, 74, 18);
	leds[204].setRGB(18, 243, 74);
	leds[205].setRGB(243, 74, 18);
	leds[206].setRGB(18, 243, 74);
	leds[207].setRGB(243, 74, 18);
	leds[208].setRGB(18, 243, 74);
	leds[209].setRGB(243, 74, 18);
	leds[210].setRGB(18, 243, 74);
	leds[211].setRGB(243, 74, 18);
	leds[212].setRGB(18, 243, 74);
	leds[213].setRGB(243, 74, 18);
	leds[214].setRGB(18, 243, 74);
	leds[215].setRGB(243, 74, 18);
	leds[216].setRGB(18, 243, 74);
	leds[217].setRGB(243, 74, 18);
	leds[218].setRGB(18, 243, 74);
	leds[219].setRGB(243, 74, 18);
	leds[220].setRGB(18, 243, 74);
	leds[221].setRGB(243, 74, 18);
	leds[222].setRGB(18, 243, 74);
	leds[223].setRGB(243, 74, 18);
	leds[224].setRGB(18, 243, 74);
	leds[225].setRGB(243, 74, 18);
	leds[226].setRGB(18, 243, 74);
	leds[227].setRGB(243, 74, 18);
	leds[228].setRGB(18, 243, 74);
	leds[229].setRGB(243, 74, 18);
	leds[230].setRGB(18, 243, 74);
	leds[231].setRGB(243, 74, 18);
	leds[232].setRGB(18, 243, 74);
	leds[233].setRGB(243, 74, 18);
	leds[234].setRGB(18, 243, 74);
	leds[235].setRGB(243, 74, 18);
	leds[236].setRGB(18, 243, 74);
	leds[237].setRGB(243, 74, 18);
	leds[238].setRGB(18, 243, 74);
	leds[239].setRGB(243, 74, 18);
	leds[240].setRGB(18, 243, 74);
	leds[241].setRGB(243, 74, 18);
	leds[242].setRGB(18, 243, 74);
	leds[243].setRGB(243, 74, 18);
	leds[244].setRGB(18, 243, 74);
	leds[245].setRGB(243, 74, 18);
	leds[246].setRGB(18, 243, 74);
	leds[247].setRGB(243, 74, 18);
	leds[248].setRGB(18, 243, 74);
	leds[249].setRGB(243, 74, 18);

}

void loop() {
    EVERY_N_MILLISECONDS(100) {
        shiftLeft();
    }
    FastLED.show();
}