дык я не про сумму, а про вот это:

Код AS3:
private function selectRandom():uint
{
var random:uint = this._sum * Math.random();
var index:uint = 4;
if (this._weights[index] <= random)
{
while (index < 10)
{
if (this._weights[index++] > random)
{
index--;
break;
}
}
}
else
{
while (index)
{
if (this._weights[--index] <= random)
{
index++;
break;
}
}
}
return index;
}