import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; public class Servidor { static Servidor instancia; static ArrayList salas3; static ArrayList salas4; static final int juego3 = 0; static final int juego4 = 1; private Servidor() { ServerSocket server; Servidor.salas3 = new ArrayList(); Servidor.salas3.add(new Sala3()); Servidor.salas4 = new ArrayList(); Servidor.salas4.add(new Sala4()); try { server = new ServerSocket(8080); while(true) { Socket socket = server.accept(); ComunacacionJugador cliente = new ComunacacionJugador(socket); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Servidor getInstance() { if(Servidor.instancia == null) { Servidor.instancia = new Servidor(); } return Servidor.instancia; } public static String mostrarSalas() { String ret = ""; int cont = 1; for(Sala3 sala:Servidor.salas3) { ret += cont + " - Jugadores: " + sala.toString() + "\n"; cont++; } for(Sala4 sala:Servidor.salas4) { ret += cont + " - Jugadores: " + sala.toString() + "\n"; cont++; } return ret; } public static boolean addJugador(int sala, Socket socket) { boolean ret = false; if(sala < Servidor.salas3.size()) { ret = Servidor.salas3.get(sala).aniadirJugador(socket); if(Servidor.salas3.get(sala).nJugadores == 1) { Servidor.salas3.add(new Sala3()); } }else if(sala < (Servidor.salas4.size() + Servidor.salas3.size())) { ret = Servidor.salas4.get(sala - Servidor.salas3.size()).aniadirJugador(socket); if(Servidor.salas4.get(sala - Servidor.salas3.size()).nJugadores == 1) { Servidor.salas4.add(new Sala4()); } } return ret; } public static int determinarJuego(int sala) { if(Servidor.salas3.size() > sala) { return Servidor.juego3; }else { return Servidor.juego4; } } }