Вот этот код, по задумке выдает числа 1-25 в хаотичном порядке, и работает в песочнице через раз...
(не надо писать, что генератор перемешивания можно в 1 строчку написать,
нужен именно этот код! )
Да, и пока что он работает не правильно, но думаю сам догонюсь, уже 5 дней работаю над ним...
Но тем не менее, запускается только некоторые разы... ???
var arr=[1,2] // добавил в массив 2 аргумента, в конце их просто выкину
ra() // собственно запуск всей программы
function ra(){
function rand() { // 2 - запуск random - генератор 1-25
a=Math.random() // a=случайное число от 0-1
a=a+"" // а - переводу в строку
a=+a.slice(2,4) // беру из строки 2 символа, получаю число 0-99
}
do {rand()} // 1 - выполнение random пока не попадем в интервал 1-25
while (a>25);
if (a==0){do {rand()} // если сгенерился 0, он не нужен, то заново random
while (a==0)}
else {prov(a)}; // если попали в интервал 1-25, запускаем проверку, есть ли в массиве число
}
function prov(t){ // 3 - ф-ия проверки в массиве числа
var sh=1 // счетчик количества проверяемых эл-ов в массиве
for (var k in arr) // перебор массива
{
var ind = arr[k] // ind делаю = эл-нт массива
if (t==ind) { ra() } // если число уже есть в массиве, запуск random
if (sh>=arr.length) {dob(t)} // если проверен весь массив, запуск ф-ии добавления в массив
else {sh=++sh} //если эл-нт массива проверен и его нет, то счетчик+1, и след.эл-т проверяется
}
}
function dob(tr){ // 4 - ф-ия добавления в массив
arr.push(tr) // если сюда попало число, то его 100% нет в массиве, и сразу добавляется в массив
if (arr.length>=25) // если массив уже = 25, что и требовалось
{arr.splice(3,10); // то отбрасываем первые 2 ненужных эл-та и отображаем 10 (позже 25 сделаю)
document.write(arr)} // готовый массив отображаем
else { ra() } // если массив <25 эл-ов, то запускаем генерацию числа random
}