I assumed you are using the FastLED variant, so here the modified Strobe code (untested, since I have no hardware laying around at the moment to test this):
#include "FastLED.h"
#define NUM_LEDS 60
CRGB leds[NUM_LEDS];
#define PIN 6
byte red = 0xff;
byte green = 0xff;
byte blue = 0xff;
int numberOfFlashes;
int delayBetweenFlashes;
int pauseAfterEffect;
void setup()
{
FastLED.addLeds<WS2811, PIN, GRB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
randomSeed(analogRead(0));
}
// REPLACE FROM HERE
void loop() {
numberOfFlashes=random(10); // random number between 0 and 10
delayBetweenFlashes=random(100); // random number between 0 and 100
pauseAfterEffect=random(1000); // random number between 0 and 1000
Strobe(red, green, blue, numberOfFlashes, delayBetweenFlashes, pauseAfterEffect);
}
void Strobe(byte red, byte green, byte blue, int StrobeCount, int FlashDelay, int EndPause){
for(int j = 0; j < StrobeCount; j++) {
setAll(red,green,blue);
showStrip();
delay(FlashDelay);
setAll(0,0,0);
showStrip();
delay(FlashDelay);
}
delay(EndPause);
}
// REPLACE TO HERE
void showStrip() {
#ifdef ADAFRUIT_NEOPIXEL_H
// NeoPixel
strip.show();
#endif
#ifndef ADAFRUIT_NEOPIXEL_H
// FastLED
FastLED.show();
#endif
}
void setPixel(int Pixel, byte red, byte green, byte blue) {
#ifdef ADAFRUIT_NEOPIXEL_H
// NeoPixel
strip.setPixelColor(Pixel, strip.Color(red, green, blue));
#endif
#ifndef ADAFRUIT_NEOPIXEL_H
// FastLED
leds[Pixel].r = red;
leds[Pixel].g = green;
leds[Pixel].b = blue;
#endif
}
void setAll(byte red, byte green, byte blue) {
for(int i = 0; i < NUM_LEDS; i++ ) {
setPixel(i, red, green, blue);
}
showStrip();
}
Give it a try and let me know how this worked out so we can continue from there ...