2022-01-01 04:04:48 +02:00
|
|
|
import dictionary from "./dictionary.json";
|
|
|
|
|
|
|
|
export const dictionarySet: Set<string> = new Set(dictionary);
|
2021-12-31 03:43:09 +02:00
|
|
|
|
2022-01-07 18:13:39 +02:00
|
|
|
function mulberry32(a: number) {
|
|
|
|
return function () {
|
|
|
|
var t = (a += 0x6d2b79f5);
|
|
|
|
t = Math.imul(t ^ (t >>> 15), t | 1);
|
|
|
|
t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
|
|
|
|
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
const seed = Number(new URLSearchParams(window.location.search).get("seed"));
|
|
|
|
const makeRandom = () => (seed ? mulberry32(seed) : () => Math.random());
|
|
|
|
let random = makeRandom();
|
|
|
|
|
|
|
|
export function resetRng(): void {
|
|
|
|
random = makeRandom();
|
|
|
|
}
|
|
|
|
|
2021-12-31 03:43:09 +02:00
|
|
|
export function pick<T>(array: Array<T>): T {
|
2022-01-07 18:13:39 +02:00
|
|
|
return array[Math.floor(array.length * random())];
|
2021-12-31 03:43:09 +02:00
|
|
|
}
|