Показать сообщение отдельно
Старый 07.01.2003, 21:33
Horror вне форума Посмотреть профиль Отправить личное сообщение для Horror Посетить домашнюю страницу Horror Найти все сообщения от Horror
  № 4  
Horror
 
Аватар для Horror

Регистрация: Oct 2000
Адрес: Piter
Сообщений: 111
По умолчанию Все равно глючил это код...

Периодически рандом повторялся и в итоге некоторые переменные дублировались с затираением других...

Выход нашел так:

Код:
function MixArray(array, _array) {
//Обнуляем выходной массив. 0 - признак того что ячейка свободна
        for (i = 0; i < array.length; i ++)
        _array[i] = 0;

//Смотрим каждый элемент исходного массива
        for (i = 0; i < array.length; i ++)
        {
//Находим куда ставить элемент в выходной массив
            new_pos = random(array.length);
            
// Если ячейка в выходном массиве занята или вставляем элемент на ту же
// позицию - меняем позицию 
            while(new_pos == i || _array[new_pos]!=0)
            {
                new_pos++;
                if (new_pos>=array.length)
                   new_pos = 0;
            } 
            //Вставка элемента на место
            _array[new_pos] = array[i];
        }
   }
Помогли друзья Php-шники...
__________________
Если у Страха глаза велики, то какие они у Ужаса?..