These should work (in the order you asked for them):
switchTime = 1.5; //time to reverse direction
minV = 100; // min velocity (pixels per second)
maxV = 500;
seedRandom(index,true);
V = random(minV,maxV);
if (time < switchTime){
value + [0,0,time*V];
}else if (time < switchTime*2){
value + [0,0,(2*switchTime - time)*V];
}else{
value
}
switchTime = 1.5; //time to reverse direction
minV = 100; // min velocity (pixels per second)
maxV = 500;
seedRandom(index,true);
V = random(minV,maxV);
if (time < switchTime){
value + [0,0,time*V];
}else{
value + [0,0,(2*switchTime - time)*V];
}
minV = 100; // min velocity (pixels per second)
maxV = 500;
seedRandom(index,true);
V = random(minV,maxV);
value - [0,0,time*V]
Dan