@Tenebrius

Как сгенерировать число на основе заданного?

Например есть функция seedRandom()
Если ничего не передаем, в качестве параметра, то обычное "случайное" число.

Но при вызове с одним и тем же параметром, должно возвращаться всегда одно и то же число.

Такое как-то сделать можно?

P.S. Задача немного упрощена, вообще мне нужно возвращать случайное число из диапазона от min до max:
getRandom(min, max, seed)
Вернуть из диапазона легко, например так:
Math.floor(arguments.length > 1 ? (max - min + 1) * Math.random() + min : (min + 1) * Math.random())


А вот как прикрутить зависимость от seed?
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 2
@GreatRash
Даже приблизительно не представляю как это работает...

// the initial seed
Math.seed = 6;

// in order to work 'Math.seed' must NOT be undefined,
// so in any case, you HAVE to provide a Math.seed
Math.seededRandom = function(max, min) {
    max = max || 1;
    min = min || 0;

    Math.seed = (Math.seed * 9301 + 49297) % 233280;
    var rnd = Math.seed / 233280;

    return min + rnd * (max - min);
}
Ответ написан
Комментировать
Lynn
@Lynn
nginx, js, css
Вам нужно написать PRNG https://ru.m.wikipedia.org/wiki/%D0%93%D0%B5%D0%BD...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы