Показать сообщение отдельно
  #3 (permalink)  
Старый 25.03.2014, 19:48
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

ponyspy, random.randNum, random.oMin и random.oMax - не нужны. Но это не главное. В 10 строчке, если число совпадает с предыдущим, то делается ещё одна попытка получить число. И если опять числа совпадают, то всё ровно возращается это значение. Там нужно добавить return, тогда вызов будет рекурсивным:
var random = {
    randNumOld: 0,
 
    getRandomInt: function (min, max) {
        var randNum = Math.floor(Math.random() * (max - min + 1)) + min;

        if (randNum == random.randNumOld) return random.getRandomInt(min, max);
        random.randNumOld = randNum;
 
        return randNum;
    }
};
Толь о учти, что если min и max будут одинаковыми, то рекурсия будет бесконечной.
Ответить с цитированием