// https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript, Mulberry32 export abstract class Random { private static _seed = 42; public static set seed(value: number) { Random._seed = value; } public static getRandomInt(): number { let t = (Random._seed += 0x6d2b79f5); t = Math.imul(t ^ (t >>> 15), t | 1); t ^= t + Math.imul(t ^ (t >>> 7), t | 61); return (t ^ (t >>> 14)) >>> 0; } public static getRandom(): number { return Random.getRandomInt() / 4294967296; } public static randomBetween(from: number, to: number): number { return from + Random.getRandom() * (to - from); } }