Показать сообщение отдельно
Старый 12.02.2014, 20:27
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код AS3:
package 
{
	import flash.display.Sprite;
 
 
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			var arr:Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
			var res:Array = [];
			for (var i:int = 0; i < 4; i++) 
			{
				res = getRandElements(arr, 4, res);
				trace( "res : " + res );
			}
		}
		private function getRandElements(arr:Array, n:int, exclude:Array):Array
		{
			var i:int;
			var tmp:Array = arr.concat();
			var res:Array = [];
			// убираем исключаемые
			for (i = 0; i < exclude.length; i++) 
			{
				tmp.splice(tmp.indexOf(exclude[i]), 1);
			}
			// выбираем из оставшихся
			for (i = 0; i < n; i++) 
			{
				var rnd:int = Math.random() * tmp.length;
				res.push(tmp[rnd]);
				tmp.splice(rnd, 1);
			}
 
			return res;
 
		}
	}
 
}