You can instantiate the Random class with an optional seed number. You can reuse this seed anytime to get the exact sequence of random numbers back. If no seed is provided, it uses `Date.now()` ticks as the seed.
`ts`const rand = new ex.Random(1234)// random integer between [min, max]rand.integer(0, 10)// random floating number between [min, max]rand.floating(0, 10)// random true or falserand.bool()// random true or false with 40% likelihood of being truerand.bool(0.4)// next floating point between [0, 1]rand.next()// next integer between 0 and Number.MAX_SAFE_INTEGERrand.nextInt()// pick a random element from an arrayrand.pickOne([0, 1, 4, 10])// pick a 2 random elements from an arrayrand.pickSet([0, 1, 4, 10], 2)// pick a 4 random elements from an array, allowing duplicatesrand.pickSet([0, 1, 4, 10], 4, true)// generate an array of 9 random numbers between [min, max]rand.range(9, 0, 10)// randomly shuffle an array using Fisher/Yates algorithmrand.shuffle([0, 1, 2, 3, 4])// Multi-sided dice helpersrand.d4()rand.d6()rand.d8()rand.d10()rand.d12()rand.d20()``
`ts`const rand = new ex.Random(1234)// random integer between [min, max]rand.integer(0, 10)// random floating number between [min, max]rand.floating(0, 10)// random true or falserand.bool()// random true or false with 40% likelihood of being truerand.bool(0.4)// next floating point between [0, 1]rand.next()// next integer between 0 and Number.MAX_SAFE_INTEGERrand.nextInt()// pick a random element from an arrayrand.pickOne([0, 1, 4, 10])// pick a 2 random elements from an arrayrand.pickSet([0, 1, 4, 10], 2)// pick a 4 random elements from an array, allowing duplicatesrand.pickSet([0, 1, 4, 10], 4, true)// generate an array of 9 random numbers between [min, max]rand.range(9, 0, 10)// randomly shuffle an array using Fisher/Yates algorithmrand.shuffle([0, 1, 2, 3, 4])// Multi-sided dice helpersrand.d4()rand.d6()rand.d8()rand.d10()rand.d12()rand.d20()``