Hacer un random que no repita valores
4 seguidores
Hola estoy haciendo una especie de juego en flash, y tengo que hacer un random entre 22 objetos y no quiero que repita valores ¿alguien me puede decir que tengo que poener? Esto es lo que tengo:
on(press){
caja_a.gotoAndStop(2+random(22));
}
gracias
maky
Exacto!!
Es para un juego de cartas y lo que me ha pasado oskitar pasado es justo lo que necesito.
Muchas gracias a todos
oskitar
mira esto:
lleno el array de origen con los números del 0 al 21, y luego voy eliminando uno a uno los elementos del array de origen y se los voy añadiendo mezclados al array de destino.
<code>
var miArrayOrigen = [];
var miArrayDestino = [];
for (var i=0;i<22;i++){
//inicializa los arrays
miArrayOrigen.push(i);
miArrayDestino [i]="";
}
i=0;
while (miArrayOrigen.length>0){
//mientras el origen tenga contenido
var rand = random(miArrayOrigen.length);
//un numero al azar desde 0 a la longitud actual del array origen
miArrayDestino [i++]=miArrayOrigen.splice(rand,1);
//relleno el array de destino con un elemento al azar del array de origen,(el elemento en el array de origen no vuelve a aparecer)
}
for (var i in miArrayDestino){
//pintamos el array de destino para ver lso valores
trace (miArrayDestino [i]);
}
</code>
deque_locualque
intuyo que lo que quiere hacer es como si seleccionas una carta. la siguiente tirada no te puede salir esta carta hasta nuevo juego.
lo suyo sería hacer un array con los resultados que salen del random y comparar con el nuevo, hacer bucle si está repetido.
elsuricatorojo
¿Te refieres que en 22 "tiradas de dados" no salga ningún repetido o a que en una "tirada" nunca se repita el valor de la anterior "tirada"?