This commit is contained in:
@@ -22,6 +22,8 @@ public class Client {
|
||||
public final Signal onClosed = new Signal();
|
||||
public final Signal onGameStarted = new Signal();
|
||||
|
||||
Player player;
|
||||
|
||||
String disconnectReason = null;
|
||||
|
||||
public Client(String address, short port) throws UnknownHostException, IOException {
|
||||
@@ -70,4 +72,8 @@ public class Client {
|
||||
}
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import sudoku.io.SudokuSerializer;
|
||||
public class ClientConnexion extends Connexion {
|
||||
|
||||
private final Client client;
|
||||
private Player player = null;
|
||||
|
||||
public ClientConnexion(String address, short port, Client client) throws UnknownHostException, IOException {
|
||||
super(new Socket(address, port));
|
||||
@@ -38,7 +37,7 @@ public class ClientConnexion extends Connexion {
|
||||
|
||||
@Override
|
||||
public void visitPacket(ConnexionInfoPacket packet) {
|
||||
this.player = this.client.getGame().getPlayerById(packet.getConnectionId());
|
||||
this.client.player = this.client.getGame().getPlayerById(packet.getConnectionId());
|
||||
client.onConnect.emit();
|
||||
}
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ public class Server {
|
||||
public void startGame(MultiDoku doku) {
|
||||
this.game.startGame(doku);
|
||||
for (ServerConnexion connexion : this.connexions) {
|
||||
connexion.setSudoku(doku);
|
||||
connexion.setSudoku(doku.clone());
|
||||
}
|
||||
broadcastPacket(new StartGamePacket(SudokuSerializer.serializeSudoku(doku).toString()));
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ public class ServerConnexion extends Connexion {
|
||||
sendPacket(new ConnexionInfoPacket(player.getId()));
|
||||
|
||||
if (this.server.getGame().getGameState() == GameState.GameGoing) {
|
||||
setSudoku(this.server.getGame().getDoku());
|
||||
setSudoku(this.server.getGame().getDoku().clone());
|
||||
sendPacket(
|
||||
new StartGamePacket(SudokuSerializer.serializeSudoku(this.server.getGame().getDoku()).toString()));
|
||||
}
|
||||
@@ -134,15 +134,15 @@ public class ServerConnexion extends Connexion {
|
||||
return;
|
||||
}
|
||||
if (cell.getSymbolIndex() != Cell.NOSYMBOL && packet.getNewValue() == Cell.NOSYMBOL) {
|
||||
cell.trySetValue(Cell.NOSYMBOL);
|
||||
cell.empty();
|
||||
player.setScore(player.getScore() + 1);
|
||||
sendPacket(new UpdatePlayerScorePacket(player.getId(), player.getScore()));
|
||||
this.server.broadcastPacket(new UpdatePlayerScorePacket(player.getId(), player.getScore()));
|
||||
return;
|
||||
}
|
||||
// on rajoute un chiffre à la grille
|
||||
if (cell.trySetValue(packet.getNewValue())) {
|
||||
player.setScore(player.getScore() - 1);
|
||||
sendPacket(new UpdatePlayerScorePacket(player.getId(), player.getScore()));
|
||||
this.server.broadcastPacket(new UpdatePlayerScorePacket(player.getId(), player.getScore()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ public class ServerConnexion extends Connexion {
|
||||
this.doku = doku;
|
||||
assert (player != null);
|
||||
player.setScore(this.doku.getEmptyCells().size());
|
||||
sendPacket(new UpdatePlayerScorePacket(player.getId(), player.getScore()));
|
||||
this.server.broadcastPacket(new UpdatePlayerScorePacket(player.getId(), player.getScore()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user