Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/12/2009, 11:59
Avatar de Lynxcraft
Lynxcraft
 
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: Números aleatorios sin repetirse

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 
canttempValues.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(random1);
}
////

//EJEMPLO
for (var 0i<10i++) {
    
addValue(i);
}
for (var 
0j<10j++) {
    
trace(getRamdon());

__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft