2020-02-11 11:59:39 +01:00

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;
}
}
}