diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipMapSynchronizer.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipMapSynchronizer.java index 6af0c80f..eba40a84 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipMapSynchronizer.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipMapSynchronizer.java @@ -84,6 +84,7 @@ public void receivedEvent(ItemRemovedEvent event) { @Override public void receivedEvent(ItemAddedEvent event) { if (shipMap == event.map()) + add(event.item()); } } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleState.java index fa8d731d..c953cd1f 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleState.java @@ -50,17 +50,20 @@ else if (logic.getOpponentMap().isValid(pos)) * * @param msg the message containing the effect of the shot */ + //tODO @Override public void receivedEffect(EffectMessage msg) { ClientGameLogic.LOGGER.log(Level.INFO, "report effect: {0}", msg); //NON-NLS playSound(msg); - myTurn = msg.isMyTurn(); - logic.setInfoText(msg.getInfoTextKey()); + myTurn = msg.isMyTurn(); //boolean, describes whether it is my turn + logic.setInfoText(msg.getInfoTextKey()); // affectedMap(msg).add(msg.getShot()); - if (destroyedOpponentShip(msg)) + if (destroyedOpponentShip(msg)) { logic.getOpponentMap().add(msg.getDestroyedShip()); + } if (msg.isGameOver()) { - msg.getRemainingOpponentShips().forEach(logic.getOwnMap()::add); + //msg.getRemainingOpponentShips().forEach(logic.getOwnMap()::add); + msg.getRemainingOpponentShips().forEach(logic.getOpponentMap()::add); logic.setState(new GameOverState(logic)); } } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/ShipMap.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/ShipMap.java index bb73d6b0..5a162785 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/ShipMap.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/ShipMap.java @@ -10,6 +10,7 @@ import pp.battleship.notification.GameEvent; import pp.battleship.notification.GameEventBroker; import pp.battleship.notification.ItemAddedEvent; +import pp.battleship.notification.ItemRemovedEvent; import java.util.ArrayList; import java.util.Collections; @@ -97,7 +98,7 @@ public void add(Shot shot) { */ public void remove(Item item) { items.remove(item); - notifyListeners(new ItemAddedEvent(item, this)); + notifyListeners(new ItemRemovedEvent(item, this)); } /** diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player1Test.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player1Test.java index 3cc236bd..fd906c70 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player1Test.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player1Test.java @@ -18,6 +18,7 @@ import java.util.List; import java.util.Properties; +import java.util.logging.Logger; import static org.junit.Assert.assertEquals; import static pp.battleship.model.Battleship.Status.NORMAL; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/model/ShipMapTest.java b/Projekte/battleship/model/src/test/java/pp/battleship/model/ShipMapTest.java index fc3b6bc0..dfe07170 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/model/ShipMapTest.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/model/ShipMapTest.java @@ -60,6 +60,7 @@ public void testRemoveItem() { map.remove(battleship); final List items = map.getItems(); assertFalse(items.contains(battleship)); + //TODO verify(mockBroker).notifyListeners(any(ItemAddedEvent.class)); verify(mockBroker).notifyListeners(any(ItemRemovedEvent.class)); } @@ -74,6 +75,7 @@ public void testClear() { verify(mockBroker).notifyListeners(any(ItemRemovedEvent.class)); } + @Test public void testGetRemainingShips() { map.add(battleship); diff --git a/Projekte/common/src/main/java/pp/util/Angle.java b/Projekte/common/src/main/java/pp/util/Angle.java index f3399a78..a7b23d0e 100644 --- a/Projekte/common/src/main/java/pp/util/Angle.java +++ b/Projekte/common/src/main/java/pp/util/Angle.java @@ -232,6 +232,7 @@ else if (o.y >= 0f) return det > 0f ? -1 : 1; } + @Override public boolean equals(Object o) { if (this == o) return true;