merge the new developmentbranch into the test branch #39
@@ -80,18 +80,13 @@ public void received(JoinedLobbyMessage msg, int from) {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void received(SelectTSKMessage msg, int from) {
|
public void received(SelectTSKMessage msg, int from) {
|
||||||
for (Map.Entry<Integer, Player> entry : this.logic.getGame().getPlayers().entrySet()) {
|
if (msg.getColor() != Color.NONE && !this.logic.getGame().isColorTaken(msg.getColor())) {
|
||||||
if (entry.getValue().getColor() == msg.getColor()) {
|
this.logic.getServerSender().broadcast(new UpdateTSKMessage(from, Color.NONE, false));
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.logic.getGame().getPlayerById(from).getColor() != Color.NONE) {
|
|
||||||
this.logic.getServerSender().broadcast(new UpdateTSKMessage(from, this.logic.getGame().getPlayerById(from).getColor(), false));
|
|
||||||
}
|
|
||||||
|
|
||||||
this.logic.getGame().getPlayerById(from).setColor(msg.getColor());
|
this.logic.getGame().getPlayerById(from).setColor(msg.getColor());
|
||||||
this.logic.getServerSender().broadcast(new UpdateTSKMessage(from, msg.getColor(), true));
|
this.logic.getServerSender().broadcast(new UpdateTSKMessage(from, msg.getColor(), true));
|
||||||
|
} else {
|
||||||
|
this.logic.getServerSender().send(from, new IncorrectRequestMessage(0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -116,34 +111,21 @@ public void received(DeselectTSKMessage msg, int from) {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void received(LobbyReadyMessage msg, int from) {
|
public void received(LobbyReadyMessage msg, int from) {
|
||||||
//assign a free color
|
|
||||||
if (this.logic.getGame().getPlayerById(from).getColor() == Color.NONE) {
|
if (this.logic.getGame().getPlayerById(from).getColor() == Color.NONE) {
|
||||||
ArrayList<Color> colors = new ArrayList<>();
|
Color color = this.logic.getGame().getFirstUnusedColor();
|
||||||
colors.add(Color.ARMY);
|
|
||||||
colors.add(Color.AIRFORCE);
|
|
||||||
colors.add(Color.NAVY);
|
|
||||||
colors.add(Color.CYBER);
|
|
||||||
|
|
||||||
for (Map.Entry<Integer, Player> entry : this.logic.getGame().getPlayers().entrySet()) {
|
if (color != null) {
|
||||||
if (colors.contains(entry.getValue().getColor())) {
|
this.logic.getGame().getPlayerById(from).setColor(color);
|
||||||
colors.remove(entry.getValue().getColor());
|
this.logic.getServerSender().broadcast(new UpdateTSKMessage(from, color, true));
|
||||||
|
} else {
|
||||||
|
this.logic.getServerSender().send(from, new IncorrectRequestMessage(1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (colors.size() < 1) {
|
|
||||||
throw new RuntimeException("can not assign a color");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.logic.getGame().getPlayerById(from).setColor(colors.get(0));
|
|
||||||
this.logic.getServerSender().broadcast(new UpdateTSKMessage(from, colors.get(0), true));
|
|
||||||
}
|
|
||||||
|
|
||||||
this.logic.getGame().getPlayerById(from).setReady(true);
|
this.logic.getGame().getPlayerById(from).setReady(true);
|
||||||
this.logic.getServerSender().broadcast(new UpdateReadyMessage(from, true));
|
if (this.logic.getGame().areAllReady()) {
|
||||||
for (Map.Entry<Integer, Player> entry : this.logic.getGame().getPlayers().entrySet()) {
|
this.initializeGame();
|
||||||
if (!entry.getValue().isReady()) {
|
this.logic.getServerSender().broadcast(new ServerStartGameMessage());
|
||||||
return;
|
this.logic.setCurrentState(this.logic.getGameState());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +139,6 @@ public void received(LobbyReadyMessage msg, int from) {
|
|||||||
@Override
|
@Override
|
||||||
public void received(LobbyNotReadyMessage msg, int from) {
|
public void received(LobbyNotReadyMessage msg, int from) {
|
||||||
this.logic.getGame().getPlayerById(from).setReady(false);
|
this.logic.getGame().getPlayerById(from).setReady(false);
|
||||||
this.logic.getGame().setAllReady(false);
|
|
||||||
this.logic.getServerSender().broadcast(new UpdateReadyMessage(from, false));
|
this.logic.getServerSender().broadcast(new UpdateReadyMessage(from, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,7 +168,7 @@ public void received(LeaveGameMessage msg, int from) {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void received(StartGameMessage msg, int from) {
|
public void received(StartGameMessage msg, int from) {
|
||||||
if (msg.isForceStartGame() || this.logic.getGame().allReady()) {
|
if (msg.isForceStartGame() || this.logic.getGame().areAllReady()) {
|
||||||
this.initializeGame();
|
this.initializeGame();
|
||||||
this.logic.getServerSender().broadcast(new ServerStartGameMessage());
|
this.logic.getServerSender().broadcast(new ServerStartGameMessage());
|
||||||
this.logic.setCurrentState(this.logic.getGameState());
|
this.logic.setCurrentState(this.logic.getGameState());
|
||||||
|
|||||||
Reference in New Issue
Block a user