| **Range of Numbers without Repeating**
on Nov 16, 2018 at 2:24:28 pm |

I'm trying to generate a random whole number between 0 and 64 without repeating. I've seen a few other threads with somewhat similar goals, but I can't quite get there. Here's what I have so far, but they're still repeating...

`var holdTime = 10;`

seedRandom(Math.floor(time/holdTime), timeless = true);

var nums = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],

ranNums = [],

i = nums.length,

j = 0;

while (i--) {

j = Math.floor(random() * (i+1));

ranNums.push(nums[j]);

nums.splice(j,1);

}

| **Re: Range of Numbers without Repeating** on Nov 16, 2018 at 4:46:22 pm |

I'm not sure this is exactly what you're after, but it should give a sequence without repeats:

var holdTime = 10;

seedRandom(index+Math.floor(time/(holdTime*65)),true);

nums = [];

for (i = 0; i <= 64; i++) nums.push(i);

for (i = 0; i < nums.length; i++){

idx = i + Math.floor(random(nums.length - i));

temp = nums[i];

nums[i] = nums[idx];

nums[idx] = temp;

}

idx = Math.floor(time/holdTime)%nums.length;

nums[idx];

If you go beyond the first sequence (65 numbers), you should get a different, non-repeating sequence, so it's possible the 66th number could match the 65th. If that's a problem, you could make a slight modification so that the first sequence just repeats.

Dan

Dan

| **Re: Range of Numbers without Repeating** on Nov 16, 2018 at 5:23:41 pm |

Dan the man!

I can't thank you enough, this is exactly what I was trying to accomplish!

Thanks again for you time and help!