| **Move random distance along X, hold, then random distance along Y**
on Mar 27, 2017 at 6:14:31 am |

I'm trying to get null to move randomly following a grid. That is; it can only move up, down, left or right at any one time.

I'd like it to move, stop, then change direction and move again.

The length of the move would be set to a random distance with a min/max.

I'll then be adding a tracer to the null.

| **Re: Move random distance along X, hold, then random distance along Y** on Mar 27, 2017 at 6:22:56 am |

I think I found it

`origin = [10,10]; //upper left hand corner of grid`

dimX = 8; //number of columns

dimY = 6; //number of rows

gap = 20; // distance between cells (pixels)

gridRate = 300; //speed (pixels per second)

holdTime = .2; //(seconds)

end = 0;

j = 0;

while (time >= end){

seedRandom(j,true);

startX = Math.floor(random(dimX))*gap + origin[0];

startY = Math.floor(random(dimY))*gap + origin[1];

j +=1;

seedRandom(j,true)

start = end;

endX = Math.floor(random(dimX))*gap + origin[0];

endY = Math.floor(random(dimY))*gap + origin[1];

deltaX = Math.abs(endX - startX);

deltaY = Math.abs(endY - startY);

end += (deltaX + deltaY)/gridRate + 2*holdTime;

}

p1 = start + deltaX/gridRate;

p2 = p1 + holdTime;

p3 = p2 + deltaY/gridRate;

if (time < p1){

ease(time,start,p1,[startX,startY],[endX,startY])

}else if (time < p2){

[endX,startY]

}else if (time < p3){

ease(time,p2,p3,[endX,startY],[endX,endY])

}else{

[endX,endY]

}

| **Re: Move random distance along X, hold, then random distance along Y** on Mar 27, 2017 at 6:24:01 am |

As always, it was thanks to Dan.