reworked ex 8

return to EditorState if map is invalid
This commit is contained in:
Timo Brennförder
2024-10-05 12:59:38 +02:00
parent 22bcd55024
commit 329d3d7372
4 changed files with 13 additions and 1 deletions

View File

@@ -7,6 +7,7 @@
package pp.battleship.game.client;
import pp.battleship.message.server.GameDetails;
import pp.battleship.message.server.StartBattleMessage;
import java.lang.System.Logger.Level;
@@ -38,4 +39,11 @@ public void receivedStartBattle(StartBattleMessage msg) {
logic.setInfoText(msg.getInfoTextKey());
logic.setState(new BattleState(logic, msg.isMyTurn()));
}
@Override
public void receivedGameDetails(GameDetails details) {
ClientGameLogic.LOGGER.log(Level.WARNING, "Invalid Map"); //NON-NLS
logic.setInfoText("map.invalid");
logic.setState(new EditorState(logic));
}
}

View File

@@ -142,8 +142,10 @@ public Player addPlayer(int id) {
public void received(MapMessage msg, int from) {
if (state != ServerState.SET_UP)
LOGGER.log(Level.ERROR, "playerReady not allowed in {0}", state); //NON-NLS
else if(!checkMap(msg, from))
else if(!checkMap(msg, from)) {
LOGGER.log(Level.ERROR, "The submitted map is not allowed");
send(players.get(from), new GameDetails(config));
}
else
playerReady(getPlayerById(from), msg.getShips());
}

View File

@@ -37,6 +37,7 @@ dialog.error=Error
dialog.question=Question
port.must.be.integer=Port must be an integer number
map.doesnt.fit=The map doesn't fit to this game
map.invalid = map is invalid
ships.dont.fit.the.map=Ships are out of bounds
menu.music.toggle = Music on/off
menu.music.volume = Volume

View File

@@ -37,6 +37,7 @@ dialog.error=Fehler
dialog.question=Frage
port.must.be.integer=Der Port muss eine ganze Zahl sein
map.doesnt.fit=Diese Karte passt nicht zu diesem Spiel
map.invalid = Karte ung<6E>ltig
ships.dont.fit.the.map=Schiffe sind au<61>erhalb der Map
menu.music.toggle = Musik an/aus
menu.music.volume = Lautst<EFBFBD>rke