Using a button to change between groups of code

So me and my friend are trying to build a gaming table and we have 3 different sets of coding for how the lights are supposed to be set up depending on the game we are playing, what we can't seem to figure out is how to use a button to switch between each set of code, we want to be able to push the button to go to the first set, push it again go to the second, push a third time go to the third set, and one more time to set all the lights off. I Attached the code we have typed up, we have never really used buttons, so any kind of help would be appreciated

Table_completed.ino (33.5 KB)

The StateChangeDetection example in the ide examples show how to increment a counter with button presses. You can use a switch case on the count to move between the different game setups.

#include <FastLED.h>


 
 
 
 
#define LED_DT 10
//#define CLOCK_PIN 4
#define COLOR_ORDER RGB
#define LED_TYPE WS2812
#define NUM_LEDS 500
 
//
 
int ledpin=11;// initialize pin 11
int inpin=7;// initialize pin 7
int val;// define val
int buttonPin = 10
 
uint8_t max_bright = 100;
 
struct CRGB leds[NUM_LEDS];
 
void setup() {
  delay(1000);
  LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER>(leds, NUM_LEDS);
  FastLED.setBrightness(max_bright);
  pinMode(ledpin,OUTPUT);// set LED pin as “output”
  pinMode(inpin,INPUT);// set button pin as “input”
}
 
//Yu-gi-oh
void loop() {
  leds[0-41].setRGB(0,0,0); //1d  
  leds[42-47].setRGB(255,0,0);    
  leds[48-51].setRGB(0,0,0);  
  leds[52-57].setRGB(255,0,0);  
  leds[58].setRGB(0,0,0); 
  leds[59].setRGB(0,0,0); 
  leds[60].setRGB(0,0,0); //4u
  leds[61].setRGB(0,0,0); 
  leds[62].setRGB(255,0,0); 
  leds[63].setRGB(255,0,0); 
  leds[64].setRGB(255,0,0); 
  leds[65].setRGB(255,0,0); 
  leds[66].setRGB(255,0,0); 
  leds[67].setRGB(255,0,0); 
  leds[68].setRGB(0,0,0); 
  leds[69].setRGB(0,0,0); 
  leds[70].setRGB(0,0,0); 
  leds[71].setRGB(0,0,0); 
  leds[72].setRGB(255,0,0); 
  leds[73].setRGB(255,0,0); 
  leds[74].setRGB(255,0,0); 
  leds[75].setRGB(255,0,0); 
  leds[76].setRGB(255,0,0); 
  leds[77].setRGB(255,0,0); 
  leds[78-101].setRGB(0,0,0);   
  leds[102].setRGB(255,0,0); 
  leds[103].setRGB(255,0,0); 
  leds[104].setRGB(255,0,0); 
  leds[105].setRGB(255,0,0); 
  leds[106].setRGB(255,0,0); 
  leds[107].setRGB(255,0,0); 
  leds[108].setRGB(0,0,0); 
  leds[109].setRGB(0,0,0); 
  leds[110].setRGB(0,0,0); 
  leds[111].setRGB(0,0,0); 
  leds[112].setRGB(255,0,0); 
  leds[113].setRGB(255,0,0); 
  leds[114].setRGB(255,0,0); 
  leds[115].setRGB(255,0,0); 
  leds[116].setRGB(255,0,0); 
  leds[117].setRGB(255,0,0); 
  leds[118].setRGB(0,0,0); 
  leds[119].setRGB(0,0,0); 
  leds[120].setRGB(0,0,0); //7d
  leds[121].setRGB(0,0,0); 
  leds[122].setRGB(255,0,0); 
  leds[123].setRGB(255,0,0); 
  leds[124].setRGB(255,0,0); 
  leds[125].setRGB(255,0,0); 
  leds[126].setRGB(255,0,0); 
  leds[127].setRGB(255,0,0); 
  leds[128].setRGB(0,0,0); 
  leds[129].setRGB(0,0,0); 
  leds[130].setRGB(0,0,0); 
  leds[131].setRGB(0,0,0); 
  leds[132].setRGB(255,0,0); 
  leds[133].setRGB(255,0,0); 
  leds[134].setRGB(255,0,0);  
  leds[135].setRGB(255,0,0);  
  leds[136].setRGB(255,0,0);  
  leds[137].setRGB(255,0,0);  
  leds[138].setRGB(0,0,0);  
  leds[139].setRGB(0,0,0);  
  leds[140].setRGB(0,0,0);  //8u
  leds[141].setRGB(0,0,0);  
  leds[142-157].setRGB(255,0,0);  
  leds[158].setRGB(0,0,0); 
  leds[159].setRGB(0,0,0); 
  leds[160].setRGB(0,0,0); //9d
  leds[161].setRGB(0,0,0); 
  leds[162-177].setRGB(255,0,0); 
  leds[178].setRGB(0,0,0); 
  leds[179].setRGB(0,0,0); 
  leds[180].setRGB(0,0,0); //10u
  leds[181].setRGB(0,0,0); 
  leds[182].setRGB(255,0,0); 
  leds[183].setRGB(255,0,0); 
  leds[184].setRGB(255,0,0);  
  leds[185].setRGB(255,0,0);  
  leds[186].setRGB(255,0,0);  
  leds[187].setRGB(255,0,0);  
  leds[188].setRGB(0,0,0);  
  leds[189].setRGB(0,0,0);  
  leds[190].setRGB(0,0,0);  
  leds[191].setRGB(0,0,0);  
  leds[192].setRGB(255,0,0);  
  leds[193].setRGB(255,0,0);  
  leds[194].setRGB(255,0,0);  
  leds[195].setRGB(255,0,0);  
  leds[196].setRGB(255,0,0);  
  leds[197].setRGB(255,0,0);  
  leds[198].setRGB(0,0,0);  
  leds[199].setRGB(0,0,0);
  leds[200].setRGB(0,0,0);//11d
  leds[201].setRGB(0,0,0);  
  leds[202].setRGB(255,0,0); 
  leds[203].setRGB(255,0,0); 
  leds[204].setRGB(255,0,0); 
  leds[205].setRGB(255,0,0); 
  leds[206].setRGB(255,0,0); 
  leds[207].setRGB(255,0,0); 
  leds[208].setRGB(0,0,0); 
  leds[209].setRGB(0,0,0); 
  leds[210].setRGB(0,0,0); 
  leds[211].setRGB(0,0,0); 
  leds[212].setRGB(255,0,0); 
  leds[213].setRGB(255,0,0); 
  leds[214].setRGB(255,0,0); 
  leds[215].setRGB(255,0,0); 
  leds[216].setRGB(255,0,0); 
  leds[217].setRGB(255,0,0); 
  leds[218].setRGB(0,0,0); 
  leds[219].setRGB(0,0,0); 
  leds[220].setRGB(0,0,0); //12u
  leds[221].setRGB(0,0,0); 
  leds[222-237].setRGB(255,0,0); 
  leds[238].setRGB(0,0,0);  
  leds[239].setRGB(0,0,0);  
  leds[240].setRGB(0,0,0);  //13d
  leds[241].setRGB(0,0,0);  
  leds[242=257].setRGB(255,0,0);  
  leds[258].setRGB(0,0,0); 
  leds[259].setRGB(0,0,0); 
  leds[260].setRGB(0,0,0); //14u
  leds[261].setRGB(0,0,0); 
  leds[262].setRGB(255,0,0); 
  leds[263].setRGB(255,0,0); 
  leds[264].setRGB(255,0,0); 
  leds[265].setRGB(255,0,0); 
  leds[266].setRGB(255,0,0); 
  leds[267].setRGB(255,0,0); 
  leds[268].setRGB(0,0,0); 
  leds[269].setRGB(0,0,0); 
  leds[270].setRGB(0,0,0); 
  leds[271].setRGB(0,0,0); 
  leds[272].setRGB(255,0,0); 
  leds[273].setRGB(255,0,0); 
  leds[274].setRGB(255,0,0); 
  leds[275].setRGB(255,0,0); 
  leds[276].setRGB(255,0,0); 
  leds[277].setRGB(255,0,0); 
  leds[278].setRGB(0,0,0); 
  leds[279].setRGB(0,0,0); 
  leds[280].setRGB(0,0,0); //15d
  leds[281].setRGB(0,0,0); 
  leds[282].setRGB(255,0,0); 
  leds[283].setRGB(255,0,0); 
  leds[284].setRGB(255,0,0);  
  leds[285].setRGB(255,0,0);  
  leds[286].setRGB(255,0,0);  
  leds[287].setRGB(255,0,0);  
  leds[288].setRGB(0,0,0);  
  leds[289].setRGB(0,0,0);  
  leds[290].setRGB(0,0,0);  
  leds[291].setRGB(0,0,0);  
  leds[292].setRGB(255,0,0);  
  leds[293].setRGB(255,0,0);  
  leds[294].setRGB(255,0,0);  
  leds[295].setRGB(255,0,0);  
  leds[296].setRGB(255,0,0);  
  leds[297].setRGB(255,0,0);  
  leds[298-321].setRGB(0,0,0);  
  leds[322].setRGB(255,0,0); 
  leds[323].setRGB(255,0,0); 
  leds[324].setRGB(255,0,0); 
  leds[325].setRGB(255,0,0); 
  leds[326].setRGB(255,0,0); 
  leds[327].setRGB(255,0,0); 
  leds[328].setRGB(0,0,0); 
  leds[329].setRGB(0,0,0); 
  leds[330].setRGB(0,0,0); 
  leds[331].setRGB(0,0,0); 
  leds[332].setRGB(255,0,0); 
  leds[333].setRGB(255,0,0); 
  leds[334].setRGB(255,0,0);  
  leds[335].setRGB(255,0,0);  
  leds[336].setRGB(255,0,0);  
  leds[337].setRGB(255,0,0);  
  leds[338].setRGB(0,0,0);  
  leds[339].setRGB(0,0,0);  
  leds[340].setRGB(0,0,0);  //18u
  leds[341].setRGB(0,0,0);  
  leds[342].setRGB(255,0,0);  
  leds[343].setRGB(255,0,0);  
  leds[344].setRGB(255,0,0);  
  leds[345].setRGB(255,0,0);  
  leds[346].setRGB(255,0,0);  
  leds[347].setRGB(255,0,0);  
  leds[348].setRGB(0,0,0);  
  leds[349].setRGB(0,0,0);
  leds[350].setRGB(0,0,0); 
  leds[351].setRGB(0,0,0); 
  leds[352].setRGB(255,0,0); 
  leds[353].setRGB(255,0,0); 
  leds[354].setRGB(255,0,0); 
  leds[355].setRGB(255,0,0); 
  leds[356].setRGB(255,0,0); 
  leds[357].setRGB(255,0,0); 
  leds[358-399].setRGB(0,0,0); 
 
    FastLED.show();
  delay(5000);
  FastLED.clear();
 
   //Pokemon
 
  leds[0-21].setRGB(0,0,0); //1d
  leds[22].setRGB(255,0,0); 
  leds[23].setRGB(255,0,0);

Here is part of the code we have, we want it to be push button once, do the first setup, push again switch all lights to second set, etc

So me and my friend are trying to build a gaming table and we have 3 different sets of coding for how the lights are supposed to be set up depending on the game we are playing, what we can't seem to figure out is how to use a button to switch between each set of code, we want to be able to push the button to go to the first set, push it again go to the second, push a third time go to the third set, and one more time to set all the lights off. I Attached the code we have typed up, we have never really used buttons, so any kind of help would be appreciated

#include <FastLED.h>


 
 
 
 
#define LED_DT 10
//#define CLOCK_PIN 4
#define COLOR_ORDER RGB
#define LED_TYPE WS2812
#define NUM_LEDS 500
 
//
 
int ledpin=11;// initialize pin 11
int inpin=7;// initialize pin 7
int val;// define val
int buttonPin = 10
 
uint8_t max_bright = 100;
 
struct CRGB leds[NUM_LEDS];
 
void setup() {
  delay(1000);
  LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER>(leds, NUM_LEDS);
  FastLED.setBrightness(max_bright);
  pinMode(ledpin,OUTPUT);// set LED pin as "output"
  pinMode(inpin,INPUT);// set button pin as "input"
}
 
//Yu-gi-oh
void loop() {
  leds[0-41].setRGB(0,0,0); //1d  
  leds[42-47].setRGB(255,0,0);    
  leds[48-51].setRGB(0,0,0);  
  leds[52-57].setRGB(255,0,0);  
  leds[58].setRGB(0,0,0);
  leds[59].setRGB(0,0,0);
  leds[60].setRGB(0,0,0); //4u
  leds[61].setRGB(0,0,0);
  leds[62].setRGB(255,0,0);
  leds[63].setRGB(255,0,0);
  leds[64].setRGB(255,0,0);
  leds[65].setRGB(255,0,0);
  leds[66].setRGB(255,0,0);
  leds[67].setRGB(255,0,0);
  leds[68].setRGB(0,0,0);
  leds[69].setRGB(0,0,0);
  leds[70].setRGB(0,0,0);
  leds[71].setRGB(0,0,0);
  leds[72].setRGB(255,0,0);
  leds[73].setRGB(255,0,0);
  leds[74].setRGB(255,0,0);
  leds[75].setRGB(255,0,0);
  leds[76].setRGB(255,0,0);
  leds[77].setRGB(255,0,0);
  leds[78-101].setRGB(0,0,0);  
  leds[102].setRGB(255,0,0);
  leds[103].setRGB(255,0,0);
  leds[104].setRGB(255,0,0);
  leds[105].setRGB(255,0,0);
  leds[106].setRGB(255,0,0);
  leds[107].setRGB(255,0,0);
  leds[108].setRGB(0,0,0);
  leds[109].setRGB(0,0,0);
  leds[110].setRGB(0,0,0);
  leds[111].setRGB(0,0,0);
  leds[112].setRGB(255,0,0);
  leds[113].setRGB(255,0,0);
  leds[114].setRGB(255,0,0);
  leds[115].setRGB(255,0,0);
  leds[116].setRGB(255,0,0);
  leds[117].setRGB(255,0,0);
  leds[118].setRGB(0,0,0);
  leds[119].setRGB(0,0,0);
  leds[120].setRGB(0,0,0); //7d
  leds[121].setRGB(0,0,0);
  leds[122].setRGB(255,0,0);
  leds[123].setRGB(255,0,0);
  leds[124].setRGB(255,0,0);
  leds[125].setRGB(255,0,0);
  leds[126].setRGB(255,0,0);
  leds[127].setRGB(255,0,0);
  leds[128].setRGB(0,0,0);
  leds[129].setRGB(0,0,0);
  leds[130].setRGB(0,0,0);
  leds[131].setRGB(0,0,0);
  leds[132].setRGB(255,0,0);
  leds[133].setRGB(255,0,0);
  leds[134].setRGB(255,0,0);  
  leds[135].setRGB(255,0,0);  
  leds[136].setRGB(255,0,0);  
  leds[137].setRGB(255,0,0);  
  leds[138].setRGB(0,0,0);  
  leds[139].setRGB(0,0,0);  
  leds[140].setRGB(0,0,0);  //8u
  leds[141].setRGB(0,0,0);  
  leds[142-157].setRGB(255,0,0);  
  leds[158].setRGB(0,0,0);
  leds[159].setRGB(0,0,0);
  leds[160].setRGB(0,0,0); //9d
  leds[161].setRGB(0,0,0);
  leds[162-177].setRGB(255,0,0);
  leds[178].setRGB(0,0,0);
  leds[179].setRGB(0,0,0);
  leds[180].setRGB(0,0,0); //10u
  leds[181].setRGB(0,0,0);
  leds[182].setRGB(255,0,0);
  leds[183].setRGB(255,0,0);
  leds[184].setRGB(255,0,0);  
  leds[185].setRGB(255,0,0);  
  leds[186].setRGB(255,0,0);  
  leds[187].setRGB(255,0,0);  
  leds[188].setRGB(0,0,0);  
  leds[189].setRGB(0,0,0);  
  leds[190].setRGB(0,0,0);  
  leds[191].setRGB(0,0,0);  
  leds[192].setRGB(255,0,0);  
  leds[193].setRGB(255,0,0);  
  leds[194].setRGB(255,0,0);  
  leds[195].setRGB(255,0,0);  
  leds[196].setRGB(255,0,0);  
  leds[197].setRGB(255,0,0);  
  leds[198].setRGB(0,0,0);  
  leds[199].setRGB(0,0,0);
  leds[200].setRGB(0,0,0);//11d
  leds[201].setRGB(0,0,0);  
  leds[202].setRGB(255,0,0);
  leds[203].setRGB(255,0,0);
  leds[204].setRGB(255,0,0);
  leds[205].setRGB(255,0,0);
  leds[206].setRGB(255,0,0);
  leds[207].setRGB(255,0,0);
  leds[208].setRGB(0,0,0);
  leds[209].setRGB(0,0,0);
  leds[210].setRGB(0,0,0);
  leds[211].setRGB(0,0,0);
  leds[212].setRGB(255,0,0);
  leds[213].setRGB(255,0,0);
  leds[214].setRGB(255,0,0);
  leds[215].setRGB(255,0,0);
  leds[216].setRGB(255,0,0);
  leds[217].setRGB(255,0,0);
  leds[218].setRGB(0,0,0);
  leds[219].setRGB(0,0,0);
  leds[220].setRGB(0,0,0); //12u
  leds[221].setRGB(0,0,0);
  leds[222-237].setRGB(255,0,0);
  leds[238].setRGB(0,0,0);  
  leds[239].setRGB(0,0,0);  
  leds[240].setRGB(0,0,0);  //13d
  leds[241].setRGB(0,0,0);  
  leds[242=257].setRGB(255,0,0);  
  leds[258].setRGB(0,0,0);
  leds[259].setRGB(0,0,0);
  leds[260].setRGB(0,0,0); //14u
  leds[261].setRGB(0,0,0);
  leds[262].setRGB(255,0,0);
  leds[263].setRGB(255,0,0);
  leds[264].setRGB(255,0,0);
  leds[265].setRGB(255,0,0);
  leds[266].setRGB(255,0,0);
  leds[267].setRGB(255,0,0);
  leds[268].setRGB(0,0,0);
  leds[269].setRGB(0,0,0);
  leds[270].setRGB(0,0,0);
  leds[271].setRGB(0,0,0);
  leds[272].setRGB(255,0,0);
  leds[273].setRGB(255,0,0);
  leds[274].setRGB(255,0,0);
  leds[275].setRGB(255,0,0);
  leds[276].setRGB(255,0,0);
  leds[277].setRGB(255,0,0);
  leds[278].setRGB(0,0,0);
  leds[279].setRGB(0,0,0);
  leds[280].setRGB(0,0,0); //15d
  leds[281].setRGB(0,0,0);
  leds[282].setRGB(255,0,0);
  leds[283].setRGB(255,0,0);
  leds[284].setRGB(255,0,0);  
  leds[285].setRGB(255,0,0);  
  leds[286].setRGB(255,0,0);  
  leds[287].setRGB(255,0,0);  
  leds[288].setRGB(0,0,0);  
  leds[289].setRGB(0,0,0);  
  leds[290].setRGB(0,0,0);  
  leds[291].setRGB(0,0,0);  
  leds[292].setRGB(255,0,0);  
  leds[293].setRGB(255,0,0);  
  leds[294].setRGB(255,0,0);  
  leds[295].setRGB(255,0,0);  
  leds[296].setRGB(255,0,0);  
  leds[297].setRGB(255,0,0);  
  leds[298-321].setRGB(0,0,0);  
  leds[322].setRGB(255,0,0);
  leds[323].setRGB(255,0,0);
  leds[324].setRGB(255,0,0);
  leds[325].setRGB(255,0,0);
  leds[326].setRGB(255,0,0);
  leds[327].setRGB(255,0,0);
  leds[328].setRGB(0,0,0);
  leds[329].setRGB(0,0,0);
  leds[330].setRGB(0,0,0);
  leds[331].setRGB(0,0,0);
  leds[332].setRGB(255,0,0);
  leds[333].setRGB(255,0,0);
  leds[334].setRGB(255,0,0);  
  leds[335].setRGB(255,0,0);  
  leds[336].setRGB(255,0,0);  
  leds[337].setRGB(255,0,0);  
  leds[338].setRGB(0,0,0);  
  leds[339].setRGB(0,0,0);  
  leds[340].setRGB(0,0,0);  //18u
  leds[341].setRGB(0,0,0);  
  leds[342].setRGB(255,0,0);  
  leds[343].setRGB(255,0,0);  
  leds[344].setRGB(255,0,0);  
  leds[345].setRGB(255,0,0);  
  leds[346].setRGB(255,0,0);  
  leds[347].setRGB(255,0,0);  
  leds[348].setRGB(0,0,0);  
  leds[349].setRGB(0,0,0);
  leds[350].setRGB(0,0,0);
  leds[351].setRGB(0,0,0);
  leds[352].setRGB(255,0,0);
  leds[353].setRGB(255,0,0);
  leds[354].setRGB(255,0,0);
  leds[355].setRGB(255,0,0);
  leds[356].setRGB(255,0,0);
  leds[357].setRGB(255,0,0);
  leds[358-399].setRGB(0,0,0);
 
    FastLED.show();
  delay(5000);
  FastLED.clear();
 
   //Pokemon
 
  leds[0-21].setRGB(0,0,0); //1d
  leds[22].setRGB(255,0,0);
  leds[23].setRGB(255,0,0);

here is what the code looks like

So i read this and i'm sorta of doing something similar, except we only have one button that we want to use to change i guess u could call them scenes, so would i use a similar code, except there is a way to count the number of pushes, so 1 push goes to scene 1, a second push scene 2, a third scene 3 a fourth to clear out all lights, and then a way to reset the counter to 1?

  leds[0-41].setRGB(0,0,0); //1d

Does that actually mean anything? Is it not just saying

  leds[-41].setRGB(0,0,0); //1d

Which makes no sense!

All that repetitive stuff should be put in arrays.

it is just saying lights 0-41 are off, we are pretty new to coding we don't know all the short cuts

this is what we have now, but nothing happens at all

#include <FastLED.h>


 
 
 
 
#define LED_DT 10
//#define CLOCK_PIN 4
#define COLOR_ORDER RGB
#define LED_TYPE WS2812
#define NUM_LEDS 500
 
//
 
int ledpin=11;// initialize pin 11
int inpin=7;// initialize pin 7
int val;// define val
int buttonPin = 8;
int buttonPushCounter = 0;   // counter for the number of button presses
int buttonState = 0;         // current state of the button
int lastButtonState = 0;     // previous state of the button
 
uint8_t max_bright = 100;
 
struct CRGB leds[NUM_LEDS];
 
void setup() {
  delay(1000);
  LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER>(leds, NUM_LEDS);
  FastLED.setBrightness(max_bright);
  // initialize the button pin as a input:
  pinMode(buttonPin, INPUT);
  // initialize the LED as an output:
  pinMode(ledpin, OUTPUT);
  // initialize serial communication:
  Serial.begin(9600);
}
 
//Yu-gi-oh
void loop() {
    if (buttonPushCounter == 1) {
      buttonPushCounter++;
      Serial.println("on");
      Serial.print("number of button pushes: ");
      Serial.println(buttonPushCounter);
  leds[0-41].setRGB(0,0,0); //1d  
  leds[42-47].setRGB(255,0,0);    
  leds[48-51].setRGB(0,0,0);  
  leds[52-57].setRGB(255,0,0);  
  leds[58].setRGB(0,0,0); 
  leds[59].setRGB(0,0,0); 
  leds[60].setRGB(0,0,0); //4u
  leds[61].setRGB(0,0,0); 
  leds[62].setRGB(255,0,0); 
  leds[63].setRGB(255,0,0); 
  leds[64].setRGB(255,0,0); 
  leds[65].setRGB(255,0,0); 
  leds[66].setRGB(255,0,0); 
  leds[67].setRGB(255,0,0); 
  leds[68].setRGB(0,0,0); 
  leds[69].setRGB(0,0,0); 
  leds[70].setRGB(0,0,0); 
  leds[71].setRGB(0,0,0); 
  leds[72].setRGB(255,0,0); 
  leds[73].setRGB(255,0,0); 
  leds[74].setRGB(255,0,0); 
  leds[75].setRGB(255,0,0); 
  leds[76].setRGB(255,0,0); 
  leds[77].setRGB(255,0,0); 
  leds[78-101].setRGB(0,0,0);   
  leds[102].setRGB(255,0,0); 
  leds[103].setRGB(255,0,0); 
  leds[104].setRGB(255,0,0); 
  leds[105].setRGB(255,0,0); 
  leds[106].setRGB(255,0,0); 
  leds[107].setRGB(255,0,0); 
  leds[108].setRGB(0,0,0); 
  leds[109].setRGB(0,0,0); 
  leds[110].setRGB(0,0,0); 
  leds[111].setRGB(0,0,0); 
  leds[112].setRGB(255,0,0); 
  leds[113].setRGB(255,0,0); 
  leds[114].setRGB(255,0,0); 
  leds[115].setRGB(255,0,0); 
  leds[116].setRGB(255,0,0); 
  leds[117].setRGB(255,0,0); 
  leds[118].setRGB(0,0,0); 
  leds[119].setRGB(0,0,0); 
  leds[120].setRGB(0,0,0); //7d
  leds[121].setRGB(0,0,0); 
  leds[122].setRGB(255,0,0); 
  leds[123].setRGB(255,0,0); 
  leds[124].setRGB(255,0,0); 
  leds[125].setRGB(255,0,0); 
  leds[126].setRGB(255,0,0); 
  leds[127].setRGB(255,0,0); 
  leds[128].setRGB(0,0,0); 
  leds[129].setRGB(0,0,0); 
  leds[130].setRGB(0,0,0); 
  leds[131].setRGB(0,0,0); 
  leds[132].setRGB(255,0,0); 
  leds[133].setRGB(255,0,0); 
  leds[134].setRGB(255,0,0);  
  leds[135].setRGB(255,0,0);  
  leds[136].setRGB(255,0,0);  
  leds[137].setRGB(255,0,0);  
  leds[138].setRGB(0,0,0);  
  leds[139].setRGB(0,0,0);  
  leds[140].setRGB(0,0,0);  //8u
  leds[141].setRGB(0,0,0);  
  leds[142-157].setRGB(255,0,0);  
  leds[158].setRGB(0,0,0); 
  leds[159].setRGB(0,0,0); 
  leds[160].setRGB(0,0,0); //9d
  leds[161].setRGB(0,0,0); 
  leds[162-177].setRGB(255,0,0); 
  leds[178].setRGB(0,0,0); 
  leds[179].setRGB(0,0,0); 
  leds[180].setRGB(0,0,0); //10u
  leds[181].setRGB(0,0,0); 
  leds[182].setRGB(255,0,0); 
  leds[183].setRGB(255,0,0); 
  leds[184].setRGB(255,0,0);  
  leds[185].setRGB(255,0,0);  
  leds[186].setRGB(255,0,0);  
  leds[187].setRGB(255,0,0);  
  leds[188].setRGB(0,0,0);  
  leds[189].setRGB(0,0,0);  
  leds[190].setRGB(0,0,0);  
  leds[191].setRGB(0,0,0);  
  leds[192].setRGB(255,0,0);  
  leds[193].setRGB(255,0,0);  
  leds[194].setRGB(255,0,0);  
  leds[195].setRGB(255,0,0);  
  leds[196].setRGB(255,0,0);  
  leds[197].setRGB(255,0,0);  
  leds[198].setRGB(0,0,0);  
  leds[199].setRGB(0,0,0);
  leds[200].setRGB(0,0,0);//11d
  leds[201].setRGB(0,0,0);  
  leds[202].setRGB(255,0,0); 
  leds[203].setRGB(255,0,0); 
  leds[204].setRGB(255,0,0); 
  leds[205].setRGB(255,0,0); 
  leds[206].setRGB(255,0,0); 
  leds[207].setRGB(255,0,0); 
  leds[208].setRGB(0,0,0); 
  leds[209].setRGB(0,0,0); 
  leds[210].setRGB(0,0,0); 
  leds[211].setRGB(0,0,0); 
  leds[212].setRGB(255,0,0); 
  leds[213].setRGB(255,0,0); 
  leds[214].setRGB(255,0,0); 
  leds[215].setRGB(255,0,0); 
  leds[216].setRGB(255,0,0); 
  leds[217].setRGB(255,0,0); 
  leds[218].setRGB(0,0,0); 
  leds[219].setRGB(0,0,0); 
  leds[220].setRGB(0,0,0); //12u
  leds[221].setRGB(0,0,0); 
  leds[222-237].setRGB(255,0,0); 
  leds[238].setRGB(0,0,0);  
  leds[239].setRGB(0,0,0);  
  leds[240].setRGB(0,0,0);  //13d
  leds[241].setRGB(0,0,0);  
  leds[242-257].setRGB(255,0,0);  
  leds[258].setRGB(0,0,0); 
  leds[259].setRGB(0,0,0); 
  leds[260].setRGB(0,0,0); //14u
  leds[261].setRGB(0,0,0); 
  leds[262].setRGB(255,0,0); 
  leds[263].setRGB(255,0,0); 
  leds[264].setRGB(255,0,0); 
  leds[265].setRGB(255,0,0); 
  leds[266].setRGB(255,0,0); 
  leds[267].setRGB(255,0,0); 
  leds[268].setRGB(0,0,0); 
  leds[269].setRGB(0,0,0); 
  leds[270].setRGB(0,0,0); 
  leds[271].setRGB(0,0,0); 
  leds[272].setRGB(255,0,0); 
  leds[273].setRGB(255,0,0); 
  leds[274].setRGB(255,0,0); 
  leds[275].setRGB(255,0,0); 
  leds[276].setRGB(255,0,0); 
  leds[277].setRGB(255,0,0); 
  leds[278].setRGB(0,0,0); 
  leds[279].setRGB(0,0,0); 
  leds[280].setRGB(0,0,0); //15d
  leds[281].setRGB(0,0,0); 
  leds[282].setRGB(255,0,0); 
  leds[283].setRGB(255,0,0); 
  leds[284].setRGB(255,0,0);  
  leds[285].setRGB(255,0,0);  
  leds[286].setRGB(255,0,0);  
  leds[287].setRGB(255,0,0);  
  leds[288].setRGB(0,0,0);  
  leds[289].setRGB(0,0,0);  
  leds[290].setRGB(0,0,0);  
  leds[291].setRGB(0,0,0);  
  leds[292].setRGB(255,0,0);  
  leds[293].setRGB(255,0,0);  
  leds[294].setRGB(255,0,0);  
  leds[295].setRGB(255,0,0);  
  leds[296].setRGB(255,0,0);  
  leds[297].setRGB(255,0,0);  
  leds[298-321].setRGB(0,0,0);  
  leds[322].setRGB(255,0,0); 
  leds[323].setRGB(255,0,0); 
  leds[324].setRGB(255,0,0); 
  leds[325].setRGB(255,0,0); 
  leds[326].setRGB(255,0,0); 
  leds[327].setRGB(255,0,0); 
  leds[328].setRGB(0,0,0); 
  leds[329].setRGB(0,0,0); 
  leds[330].setRGB(0,0,0); 
  leds[331].setRGB(0,0,0); 
  leds[332].setRGB(255,0,0); 
  leds[333].setRGB(255,0,0); 
  leds[334].setRGB(255,0,0);  
  leds[335].setRGB(255,0,0);  
  leds[336].setRGB(255,0,0);  
  leds[337].setRGB(255,0,0);  
  leds[338].setRGB(0,0,0);  
  leds[339].setRGB(0,0,0);  
  leds[340].setRGB(0,0,0);  //18u
  leds[341].setRGB(0,0,0);  
  leds[342].setRGB(255,0,0);  
  leds[343].setRGB(255,0,0);  
  leds[344].setRGB(255,0,0);  
  leds[345].setRGB(255,0,0);  
  leds[346].setRGB(255,0,0);  
  leds[347].setRGB(255,0,0);  
  leds[348].setRGB(0,0,0);  
  leds[349].setRGB(0,0,0);
  leds[350].setRGB(0,0,0); 
  leds[351].setRGB(0,0,0); 
  leds[352].setRGB(255,0,0); 
  leds[353].setRGB(255,0,0); 
  leds[354].setRGB(255,0,0); 
  leds[355].setRGB(255,0,0); 
  leds[356].setRGB(255,0,0); 
  leds[357].setRGB(255,0,0); 
  leds[358-399].setRGB(0,0,0);
  FastLED.show();
    } else {
  FastLED.clear();
    }
    delay(50); 
   //Pokemon
  if (buttonPushCounter == 2) {
      buttonPushCounter++;
      Serial.println("on");
      Serial.print("number of button pushes: ");
      Serial.println(buttonPushCounter);
  leds[0-21].setRGB(0,0,0); //1d
  leds[22].setRGB(255,0,0); 
  leds[23].setRGB(255,0,0); 
  leds[24].setRGB(255,0,0); 
  leds[25].setRGB(255,0,0); 
  leds[26].setRGB(255,0,0); 
  leds[27-41].setRGB(0,0,0); 
  leds[42].setRGB(255,0,0);

winters242:
it is just saying lights 0-41 are off, we are pretty new to coding we don't know all the short cuts

Well, no short cuts!

Since "0-41" simply evaluates to -41, it is telling the LED strip to turn off light number minus 41, so the compiler will presumably attempt to do that. But LED number -41 does not exist, so it is going to do something really strange!

Yeah we figured that out, how do we make it so that we dont have to have 400 lines of lights then? so we can make it look neater?

@winters242, do not hijack. Thread split and merged.

@winters242, stop cross-posting. Threads merged.

winters242:
Yeah we figured that out, how do we make it so that we don't have to have 400 lines of lights then? so we can make it look neater?

Paul__B:
All that repetitive stuff should be put in arrays.

Well, for a start, you analyse and factor the patterns.

Looking at the code you cited, it appears you are only using black and full red. If that is the case, then you do not need to store triads, you only need a single bit per LED. At maximum compression, you could represent eight such bits in a single byte.

You define a constant array (so it will be stored in program memory) with your bit pattern, where you encode them as binary (0b11011011, one bit per pixel) or one byte per pixel and use a loop to read that array and execute "leds[ i ].setRGB(redValue,0,0);" as it reads each redValue from the array.

An alternate coding would be to simply start by setting all LEDs to off, then read an array which contains only the indices of the red LEDs and sets those. However if the red LEDs are largely in "runs" where many successive LEDs are red, then you code the runs in an array, each being three bytes with a word specifying the starting address of the "run" and a byte specifying the length of the "run". In such arrays, you should mark the end of the array with a "null" value - all zeros - which can make it easier than having to take note of the array length.

When you figure out the button toggle, you can use it to select between the arrays for each different pattern. But you have to analyse each pattern to find the common details so you can make the same code interpret each of the patterns.

The last set is more then just red it is 3 different colors

winters242:
The last set is more then just red it is 3 different colors

OK, but do the analysis - how many different colours, what proportion of LEDs are off (dark), are there "runs" and so on?