Foros del Web » Creando para Internet » Flash y Actionscript »

numeros aleatorios sin q se repitan

Estas en el tema de numeros aleatorios sin q se repitan en el foro de Flash y Actionscript en Foros del Web. Hola amigos q tal como andan pues ora mi proble es q kiero hacer q salgan una serie de numeros del 1 al 90 para ...
  #1 (permalink)  
Antiguo 20/06/2006, 01:39
 
Fecha de Ingreso: enero-2006
Mensajes: 67
Antigüedad: 11 años, 11 meses
Puntos: 0
numeros aleatorios sin q se repitan

Hola amigos q tal como andan pues ora mi proble es q kiero hacer q salgan una serie de numeros del 1 al 90 para hacer un Bingo pero no he podido hacer que no se repitan. ejemplo pongo q aleatoriamente salga un numero, y sale el 50 despues como tengo q hacerle para q salga un numero del 1 al 90 q no sea el 50. y asi sucesivamente, espero q me entiendan

desde ya gracias y un saludo
__________________
Criado en los foros
:pensando:
  #2 (permalink)  
Antiguo 20/06/2006, 01:55
Avatar de DaHousecat  
Fecha de Ingreso: junio-2006
Mensajes: 132
Antigüedad: 11 años, 5 meses
Puntos: 1
crea un arregle y ve guardando los numeros que ya salieron, compara el nuevo numero con los que hay en el arreglo y listo... si el numero ya salio generas otro y asi t la llevas hasta terminar... Saludos...
__________________
DaHouseCat's Blog || Un blog de Flash ActionScript, PHP, MySQL, Motorola Modding y mucho más ^_^
  #3 (permalink)  
Antiguo 20/06/2006, 08:59
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
No creo que esa sea la mejor manera,
imaginemos que ya ha sacado 89 números, quedaría 1 número por sacar aleatoreamente y la probabilidad que un número diferente en cada oportunidad es practicamente imposible, lo que haría queel script tarde mucho
lo mejor es guardar los numeros en un array y y tomar un elemento al azaar, luego eliminar ese elemento para volver a tomar otro elemento al azar de entre los que quedan
algo así:
Código:
var random_entre:Function = function (minimo:Number,maximo:Number):Number{
	return Math.round(Math.random()*(maximo-minimo))+minimo;
}
//el array con los números
var los_numeros:Array = new Array();
for(var n=1;n<=90;n++) los_numeros.push(n);
//mientras aún haya elementos en el array, tomamos uno al azar y lo eliminamos
while(los_numeros.length>0) trace(los_numeros.splice(random_entre(0,los_numeros.length-1),1));
//---------------->
stop();
__________________
Si digo que soy mentiroso. ¿Lo soy?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:27.