Cita:
Iniciado por elanguido Pues una solución rápida que se me ocurre es con un array:
Código PHP:
int[] personas = new int[5];
Random rand = new Random();
for(int i = 0; i < personas.length;){
boolean existe = false;
personas[i] = rand.nextInt(5);
for(int j = 0; j < i; j++){
if(personas[i] == personas[j])
existe = true;
}
if(existe) continue;
i++;
}
con este código consigues un número aleatorio diferente entre 0 y 4 para cada posición del array, ya sólo tendrías que asignarle estos numeros a cada persona.
Al ser solo son 5 jugadores puedes hacerlo así, si fueran más, por ejemplo 300 no sería una buena técnica ya que seguramente tardaría demasiado en asignarlos.
un saludo.
Muchas gracias por tu ayuda, el método por ahora me va quedando así:
Código PHP:
public void OrdenAzar(List<Player> jugadores){
int[] personas = new int[5];
Random rand = new Random();
for(int i = 0; i < personas.length;){
boolean existe = false;
personas[i] = rand.nextInt(5);
for(int j = 0; j < i; j++){
if(personas[i] == personas[j])
existe = true;
}
if(existe) continue;
i++;
}
}
Para asignar un número a cada jugador tendría que hacer uso de un Map<Player, Integer> ¿voy bien?
Muchas gracias por tus respuestas.
Saludos.