Estoy creando un método que ordene al azar de 3 a 5 jugadores. Si hay 3 jugadores hay que crear un mapa para asignarle a cada jugador un número del 0 al 2. El mapa sería así Map<Player,Integer>. Si hay 4 jugadores pues crear cuatro mapas para asignarle a cada jugador un número del 0 al 3 y con 5 jugadores exactamente igual.
Os pongo el código que tengo echo:
Código PHP:
public void OrdenAzar(List<Player> jugadores){
if(jugadores.size()==3){
creaMapa();
}else if(jugadores.size()==4){
creaMapa();
}else{
creaMapa();
}
int[] players = new int[jugadores.size()]; //Acoto los números del azar con el tamaño de la lista jugadores
Random rand = new Random(); // Es la clase encargada de generar los números al azar
for(int i = 0; i < players.length;){ // Recorro el array players
boolean existe = false; // Si al jugador no se le ha asignado un número al azar sigo:
players[i] = rand.nextInt(jugadores.size()); //Asigno al jugador un número del 0 al 4
for(int j = 0; j < i; j++){ // Compruebo jugadores que ya tienen asignado número
if(players[i] == players[j])
existe = true; //Ya existe jugador con número asignado
}
if(existe) continue;// Si ya tiene asignado número seguimos con el siguiente jugador.
i++;
}
}
Mi duda está en que no sé cómo hacer el método creaMapa( ) el cual tiene de función crear 3 mapas si hay 3 jugadores, 4 mapas si hay 4 jugadores y 5 mapas si hay 5 jugadores.
¿Alguien sabe cómo se podría implementar el método creaMapa( )?
Saludos.