79 lines
1.9 KiB
Java
79 lines
1.9 KiB
Java
import java.io.IOException;
|
|
import java.net.ServerSocket;
|
|
import java.net.Socket;
|
|
import java.util.ArrayList;
|
|
|
|
public class Servidor {
|
|
static Servidor instancia;
|
|
static ArrayList<Sala3> salas3;
|
|
static ArrayList<Sala4> salas4;
|
|
static final int juego3 = 0;
|
|
static final int juego4 = 1;
|
|
|
|
private Servidor() {
|
|
ServerSocket server;
|
|
Servidor.salas3 = new ArrayList<Sala3>();
|
|
Servidor.salas3.add(new Sala3());
|
|
Servidor.salas4 = new ArrayList<Sala4>();
|
|
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;
|
|
}
|
|
}
|
|
}
|