Arreglos menores y legibilidad
This commit is contained in:
parent
ebd75911fc
commit
faddc1fcb8
@ -20,13 +20,16 @@ public class ComunacacionJugador extends Thread{
|
|||||||
int sala = Integer.parseInt(bufferEntrada.readLine())-1;
|
int sala = Integer.parseInt(bufferEntrada.readLine())-1;
|
||||||
if(Servidor.addJugador(sala, this.socket)) {
|
if(Servidor.addJugador(sala, this.socket)) {
|
||||||
bufferSalida.println("Has entrado en la sala");
|
bufferSalida.println("Has entrado en la sala");
|
||||||
if(Servidor.determinarJuego(sala) == 1) {
|
switch(Servidor.determinarJuego(sala)){
|
||||||
|
case Servidor.juego4:
|
||||||
sala -= Servidor.salas3.size();
|
sala -= Servidor.salas3.size();
|
||||||
bufferSalida.println("4");
|
bufferSalida.println("4");
|
||||||
partida4(bufferEntrada, bufferSalida, sala);
|
partida4(bufferEntrada, bufferSalida, sala);
|
||||||
}else {
|
break;
|
||||||
|
case Servidor.juego3:
|
||||||
bufferSalida.println("3");
|
bufferSalida.println("3");
|
||||||
partida3(bufferEntrada, bufferSalida, sala);
|
partida3(bufferEntrada, bufferSalida, sala);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println("Error al entrar en la sala");
|
bufferSalida.println("Error al entrar en la sala");
|
||||||
@ -53,6 +56,8 @@ public class ComunacacionJugador extends Thread{
|
|||||||
bufferSalida.println(Servidor.salas3.get(sala).tablero.getTablero());
|
bufferSalida.println(Servidor.salas3.get(sala).tablero.getTablero());
|
||||||
Servidor.salas3.get(sala).tablero.colocarFicha(Integer.parseInt(bufferEntrada.readLine()),
|
Servidor.salas3.get(sala).tablero.colocarFicha(Integer.parseInt(bufferEntrada.readLine()),
|
||||||
Integer.parseInt(bufferEntrada.readLine()),jugador);
|
Integer.parseInt(bufferEntrada.readLine()),jugador);
|
||||||
|
/*Calculamos el modulo 2 de jugador para que cuando este sea 2 se acceda al socket del primero,
|
||||||
|
y viceversa, ya que usamos los sockets como mutex*/
|
||||||
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
||||||
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
||||||
}
|
}
|
||||||
@ -71,6 +76,8 @@ public class ComunacacionJugador extends Thread{
|
|||||||
}
|
}
|
||||||
while(continuar) {
|
while(continuar) {
|
||||||
int finalJuego = Servidor.salas3.get(sala).tablero.finalJuego();
|
int finalJuego = Servidor.salas3.get(sala).tablero.finalJuego();
|
||||||
|
/*funalJuego determinara quien ha ganado, mientras sea 0 nadie habra ganado,
|
||||||
|
y cuando alguien gane contendra el numero del jugador que ha ganado*/
|
||||||
if(finalJuego != 0) {
|
if(finalJuego != 0) {
|
||||||
continuar = false;
|
continuar = false;
|
||||||
if(finalJuego == jugador) {
|
if(finalJuego == jugador) {
|
||||||
@ -78,10 +85,11 @@ public class ComunacacionJugador extends Thread{
|
|||||||
Servidor.salas3.remove(sala);
|
Servidor.salas3.remove(sala);
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println("f");
|
bufferSalida.println("f");
|
||||||
|
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
||||||
|
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
|
||||||
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
|
||||||
}
|
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(Servidor.salas3.get(sala).tablero.getTablero());
|
bufferSalida.println(Servidor.salas3.get(sala).tablero.getTablero());
|
||||||
Servidor.salas3.get(sala).tablero.colocarFicha(Integer.parseInt(bufferEntrada.readLine()),
|
Servidor.salas3.get(sala).tablero.colocarFicha(Integer.parseInt(bufferEntrada.readLine()),
|
||||||
@ -110,6 +118,8 @@ public class ComunacacionJugador extends Thread{
|
|||||||
bufferSalida.println("Primero");
|
bufferSalida.println("Primero");
|
||||||
bufferSalida.println(Servidor.salas4.get(sala).tablero.getTablero());
|
bufferSalida.println(Servidor.salas4.get(sala).tablero.getTablero());
|
||||||
Servidor.salas4.get(sala).tablero.colocarFicha(Integer.parseInt(bufferEntrada.readLine()),jugador);
|
Servidor.salas4.get(sala).tablero.colocarFicha(Integer.parseInt(bufferEntrada.readLine()),jugador);
|
||||||
|
/*Calculamos el modulo 2 de jugador para que cuando este sea 2 se acceda al socket del primero,
|
||||||
|
y viceversa, ya que usamos los sockets como mutex*/
|
||||||
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
||||||
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
||||||
}
|
}
|
||||||
@ -128,6 +138,8 @@ public class ComunacacionJugador extends Thread{
|
|||||||
}
|
}
|
||||||
while(continuar) {
|
while(continuar) {
|
||||||
int finalJuego = Servidor.salas4.get(sala).tablero.finalJuego();
|
int finalJuego = Servidor.salas4.get(sala).tablero.finalJuego();
|
||||||
|
/*funalJuego determinara quien ha ganado, mientras sea 0 nadie habra ganado,
|
||||||
|
y cuando alguien gane contendra el numero del jugador que ha ganado*/
|
||||||
if(finalJuego != 0) {
|
if(finalJuego != 0) {
|
||||||
continuar = false;
|
continuar = false;
|
||||||
if(finalJuego == jugador) {
|
if(finalJuego == jugador) {
|
||||||
@ -135,9 +147,9 @@ public class ComunacacionJugador extends Thread{
|
|||||||
Servidor.salas4.remove(sala);
|
Servidor.salas4.remove(sala);
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println("f");
|
bufferSalida.println("f");
|
||||||
}
|
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
||||||
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
||||||
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
}
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(Servidor.salas4.get(sala).tablero.getTablero());
|
bufferSalida.println(Servidor.salas4.get(sala).tablero.getTablero());
|
||||||
|
@ -30,7 +30,7 @@ public class Sala3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String.valueOf(this.nJugadores) + "Tres en raya";
|
return String.valueOf(this.nJugadores) + " Tres en raya";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ public class Sala4 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String.valueOf(this.nJugadores) + "Cuatro en raya";
|
return String.valueOf(this.nJugadores) + " Cuatro en raya";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@ public class Servidor {
|
|||||||
static Servidor instancia;
|
static Servidor instancia;
|
||||||
static ArrayList<Sala3> salas3;
|
static ArrayList<Sala3> salas3;
|
||||||
static ArrayList<Sala4> salas4;
|
static ArrayList<Sala4> salas4;
|
||||||
|
static final int juego3 = 0;
|
||||||
|
static final int juego4 = 1;
|
||||||
|
|
||||||
private Servidor() {
|
private Servidor() {
|
||||||
ServerSocket server;
|
ServerSocket server;
|
||||||
@ -52,12 +54,12 @@ public class Servidor {
|
|||||||
boolean ret = false;
|
boolean ret = false;
|
||||||
if(sala < Servidor.salas3.size()) {
|
if(sala < Servidor.salas3.size()) {
|
||||||
ret = Servidor.salas3.get(sala).aniadirJugador(socket);
|
ret = Servidor.salas3.get(sala).aniadirJugador(socket);
|
||||||
if(Servidor.salas3.get(sala).nJugadores==1) {
|
if(Servidor.salas3.get(sala).nJugadores == 1) {
|
||||||
Servidor.salas3.add(new Sala3());
|
Servidor.salas3.add(new Sala3());
|
||||||
}
|
}
|
||||||
}else if(sala < (Servidor.salas4.size()+Servidor.salas3.size())) {
|
}else if(sala < (Servidor.salas4.size() + Servidor.salas3.size())) {
|
||||||
ret = Servidor.salas4.get(sala-Servidor.salas3.size()).aniadirJugador(socket);
|
ret = Servidor.salas4.get(sala - Servidor.salas3.size()).aniadirJugador(socket);
|
||||||
if(Servidor.salas4.get(sala-Servidor.salas3.size()).nJugadores==1) {
|
if(Servidor.salas4.get(sala - Servidor.salas3.size()).nJugadores == 1) {
|
||||||
Servidor.salas4.add(new Sala4());
|
Servidor.salas4.add(new Sala4());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -65,11 +67,12 @@ public class Servidor {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static int determinarJuego(int sala) {
|
public static int determinarJuego(int sala) {
|
||||||
if(Servidor.salas3.size() > sala) {
|
if(Servidor.salas3.size() > sala) {
|
||||||
return 0;
|
return Servidor.juego3;
|
||||||
}else {
|
}else {
|
||||||
return 1;
|
return Servidor.juego4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,9 @@ public class Tablero3 {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*Lo hice hace un anio y ni idea de como va pero va, es muy feo
|
||||||
|
el de el 4 en raya es mas bonito y deberia ir en un tablero 3x3
|
||||||
|
pero no me apetecia probarlo*/
|
||||||
public int finalJuego() {
|
public int finalJuego() {
|
||||||
int ret=0;
|
int ret=0;
|
||||||
for(int i=0;i<3;i++) {
|
for(int i=0;i<3;i++) {
|
||||||
|
@ -47,19 +47,21 @@ public class Tablero4 {
|
|||||||
|
|
||||||
public int finalJuego() {
|
public int finalJuego() {
|
||||||
int ret=0;
|
int ret=0;
|
||||||
for(int i = 0;i < this.casillas.length-1; i++) {
|
for(int i = 0;i < this.casillas.length; i++) {
|
||||||
for(int j = 0;j < this.casillas[i].length; j++) {
|
for(int j = 0;j < this.casillas[i].length; j++) {
|
||||||
if(comprobarHorizontal(i, j, this.casillas[i][j]) >= 3) {
|
if(this.casillas[i][j] != 0) {
|
||||||
return this.casillas[i][j];
|
if(comprobarHorizontal(i, j, this.casillas[i][j]) >= 3) {
|
||||||
}
|
return this.casillas[i][j];
|
||||||
if(comprobarVertical(i, j, this.casillas[i][j]) >= 3) {
|
}
|
||||||
return this.casillas[i][j];
|
if(comprobarVertical(i, j, this.casillas[i][j]) >= 3) {
|
||||||
}
|
return this.casillas[i][j];
|
||||||
if(comprobarDiagonalArriba(i, j, this.casillas[i][j]) >= 3) {
|
}
|
||||||
return this.casillas[i][j];
|
if(comprobarDiagonalArriba(i, j, this.casillas[i][j]) >= 3) {
|
||||||
}
|
return this.casillas[i][j];
|
||||||
if(comprobarDiagonalAbajo(i, j, this.casillas[i][j]) >= 3) {
|
}
|
||||||
return this.casillas[i][j];
|
if(comprobarDiagonalAbajo(i, j, this.casillas[i][j]) >= 3) {
|
||||||
|
return this.casillas[i][j];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -95,7 +97,7 @@ public class Tablero4 {
|
|||||||
if(x == this.casillas.length-1) {
|
if(x == this.casillas.length-1) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(this.casillas[x][y+1] == jugador) {
|
if(this.casillas[x+1][y+1] == jugador) {
|
||||||
return comprobarDiagonalArriba(x+1, y+1, jugador)+1;
|
return comprobarDiagonalArriba(x+1, y+1, jugador)+1;
|
||||||
}else {
|
}else {
|
||||||
return 0;
|
return 0;
|
||||||
@ -109,7 +111,7 @@ public class Tablero4 {
|
|||||||
if(x == this.casillas.length-1) {
|
if(x == this.casillas.length-1) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(this.casillas[x][y+1] == jugador) {
|
if(this.casillas[x+1][y-1] == jugador) {
|
||||||
return comprobarDiagonalAbajo(x+1, y-1, jugador)+1;
|
return comprobarDiagonalAbajo(x+1, y-1, jugador)+1;
|
||||||
}else {
|
}else {
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user