Показать сообщение отдельно
Старый 21.11.2008, 14:21
Irradiance вне форума Посмотреть профиль Отправить личное сообщение для Irradiance Найти все сообщения от Irradiance
  № 4  
Ответить с цитированием
Irradiance

Регистрация: May 2006
Сообщений: 36
Код AS3:
trace (getRandomIntArray(100));
 
function getRandomIntArray (len:int):Array {
  var A:Array = [];
  var i:int;
  var found:Boolean = false;
  var un:int;
 
  while (A.length != len) {
    un = Math.random()*len;
	found = false;
    for (i = 0; i < A.length; i++) {
        if (A[i] == un) {
          found = true;
          break;
        }
    }
    if (!found) A.push(un);
  }
 
  return A;
}
Есть способ уменьшить "холостые" генерации случайного числа. Заранее создать массив 1 ... N, и пермешать его. Работает в два раза быстрее, но предлагаю вам подумать об этом самостоятельно.