Вечер добрый,
Необходим генератор случайнх чисел с вероятностью "неповторения". обьясню кратко: есть один клип, новая копия которого, каждые 50 кадров появляются случайно, либо слево от экрана и перемещается через весь экран направо, либо справо и перемещается налево. их y(высота) тоже случайно считается. высота moveclipа около 50 пикселов. при появлении они должны с большой вероятностью (но не точно) появляться в другом месте и не наезжать на предыдущих. но и слево внизу появился, потом справо наверху, потом опять противоположное, слево внизу не должно быть. ну вы поняли, случайно, с небольшой вероятностью к этому

вот что получилось без вероятности:

Код AS3:
var timeToNew:Number = 50;
var didAtDir:int = 0;
this.addEventListener(Event.ENTER_FRAME,ClipCreation);
function ClipCreation(e:Event):void
{
if (timeToNew <= GameTimer.currentCount) //GameTimer - таймер считающий кадры
{
var mc:MovieClip = new MC();
var dodir:int = Math.random() * 5; //попытка чего-то подобного для стороны появления
if (didAtDir == 0)
{
if (dodir==1||dodir==2||dodir==3)
{
mc.x = -300;
var dir = 1;
}
else
{
mc.x = 1300;
var dir = 0;
}
}
if (didAtDir == 1) // x всегда зависит от стороны
{
if (dodir==1||dodir==2)
{
mc.x = -300;
var dir = 1;
}
else
{
mc.x = 1300;
var dir = 0;
}
}
mc.goDir = dir;
addChild(mc);
timeToNew += 50;
var didAtSide:int = dir;
}
само перемещение реализовано внутри клипа.
и к слову, таймер реализован вот так. хороший ли это способ, или всетаки для подсчета кадров есть какой-то изобретенный "велосипед", а не просто увеличивающаяся переменная?

Код AS3:
var timeToNew:Number = 50;
this.addEventListener(Event.ENTER_FRAME,GameTimer);
function GameTimer(e:Event):void
{
GameTimer ++;
}