random change in direction on led counter ways to do it

questions is what is the best way to use random or randomSeed to get it to reverse direction in the count. ++i to --i or something along that line do not want it jumping LEDs and might there be better way to wright this. most of my problems have been because not real familiar with the code. i could just write several arrays and just have it count and move from one to another and i am trying to stay away from FOR LOOPS as well.

I am using a 3 Ardunio nano communicating together. one control 4 74hc595 shift registers this one controls a BALL from an aircraft carrier. using it to hide 26 LEDs to indicate limit switch positions and other programs in operation on a functional R/C model. Then the other 10 as glide-slope for show. I am working on the glide-slope indicator part of it. got it to work like in the shift out tutorial. i do not want to use the For Loop to do this because of a long delay up to 5 to 20 seconds in the end and have other parts running at the same time. have it working off of a counter using blink with out delay and two arrays to turn one pin HIGH and the previews pin LOW. Also using a IR remote for on off with button on remote along with other functions on and off with remote. all works good for basic operation but want to add a little more show. i am trying to get it to show like a aircraft on approach moving up and down the glide-slope sum what randomly.

//code use to move up and down LED string

unsigned long previousMillis1 = 0;
const long interval1 = 600;

int ballCycle = {22,22,23,24,25,26,27,28,29,30,31,30,29,28,27,26,25,24,23};
int ballCycle1 = {23,23,22,23,24,25,26,27,28,29,30,31,30,29,28,27,26,25,24};

int i = 0;

void ball() {

unsigned long currentMillis1 = millis();

if (currentMillis1 - previousMillis1 >= interval1) {
previousMillis1 = currentMillis1;
++i;
}

sr.set(ballCycle*, HIGH); // set shift register pin high*
_ sr.set(ballCycle1*, LOW); // set shift register previews low*_

* if(i == 19){*
* i = 0;*
* }*
}

Please all of your program with [­code][­/code] tags around the code unless, of course, it is meant to have italics in it. Removing unnecessary blank lines from the code would also make it more readable.