public function getRandomRange(min_value:int, max_value:int, count:uint, uniqueValues:Boolean = false):Array { if (min_value > max_value || (uniqueValues == true && max_value - min_value < count)) { throw new Error("Wrong params for getRandomRange"); return null; } var returnValue:Array = new Array(); var currentNumber:int; mainLoop : while (true) { currentNumber = Math.floor(Math.random()*(max_value-min_value))+min_value; if (uniqueValues == false) { returnValue.push(currentNumber); } else { if(returnValue.every(function(element:int):Boolean { return element == currentNumber;}) == true){ continue mainLoop; } returnValue.push(currentNumber); } if (returnValue.length == count) { break; } } return returnValue; }