}
private List<Mesa> crearMesas(List<Jugador> jugadores) {
int numeroJugadores = jugadores.size();
Mesa mesa;
List<Mesa> mesas = new LinkedList<Mesa>();
switch (numeroJugadores) {
case 0:
// no es posible crear ronda!!
break;
case 1:
// no es posible crear ronda!!
break;
case 2:
// no es posible crear ronda!!
break;
case 3:
// solo se crea una mesa :S
mesa = new Mesa();
mesa.setJugadores(jugadores);
mesa.setNumeroMesa(new Integer(0));
break;
case 4:
// solo se crea una mesa :S
mesa = new Mesa();
mesa.setJugadores(jugadores);
mesa.setNumeroMesa(new Integer(0));
break;
default:
int totalMesas = numeroJugadores / 3;
int sobras = numeroJugadores % 3;
int numeroElemento = 0;
List<Jugador> jugadoresMesa;
for (int i = 0; i < totalMesas; i++) {
mesa = new Mesa();
mesa.setNumeroMesa(new Integer(i));
jugadoresMesa = new LinkedList<Jugador>();
mesa.setJugadores(jugadoresMesa);
for (int j = 0; j < 3; j++) {
Jugador jugador = jugadores.get(numeroElemento);
jugadoresMesa.add(jugador);
numeroElemento++;
}
mesas.add(mesa);
}
// se reparten los sobrantes
if (sobras > 0) {
for (int i = 0; i < totalMesas; i++) {
mesa = mesas.get(i);
jugadoresMesa = mesa.getJugadores();
Jugador jugador = jugadores.get(numeroElemento);
jugadoresMesa.add(jugador);
numeroElemento++;
if (numeroElemento == numeroJugadores) {