no se si te esto es lo que estas buscando pero bueno XD
el código es para AS3
Código PHP:
package com.cfx.utils{
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.Bitmap;
import flash.display.BitmapData;
public class RandomUnic {
public var tempValues:Array=new Array()
public function RandomUnic():void {
}
public function addValue(valor:*):void {
tempValues.push(valor)
}
public function getRamdon():* {
var cant= tempValues.length
var random=Math.floor(Math.random()*cant)
return tempValues.splice(random,1)
}
}
}
te explico este código lo que hace es que se devuelvan unicamente un valor de una lista una ves devuelto todos los valores de dicha lista no devolverá nada
un ejemplo
Código PHP:
import com.cfx.utils.RandomUnic
var ram:RandomUnic=new RandomUnic()
for (var i:int=0;i<10;i++){
ram.addValue(i)
}
for (var j:int=0;j<15;j++){
trace(ram.getRamdon()) //Salida
/*
5
9
3
4
6
0
7
2
1
8
*/
}
el ejemplo de arriba crea en principio la clase RandomUnic
lo siguiente es dar los valores a la lista en este caso le damos valores del 0 al 9
para poder verlos utilizamos getRamdon() esto nos muestra el valor ramdon único
en as2 el código con el mismo ejemplo seria asi
Código PHP:
//FUNCIONES Random
var tempValues:Array = new Array();
function addValue(valor) {
tempValues.push(valor);
}
function getRamdon() {
var cant = tempValues.length;
var random = Math.floor(Math.random()*cant);
return tempValues.splice(random, 1);
}
////
//EJEMPLO
for (var i = 0; i<10; i++) {
addValue(i);
}
for (var j = 0; j<10; j++) {
trace(getRamdon());
}