From 67b99317d2697a241f078c667e09f6a1ecb8cab0 Mon Sep 17 00:00:00 2001 From: Cedric Beck Date: Sat, 12 Oct 2024 17:45:30 +0200 Subject: [PATCH] =?UTF-8?q?added=20TODO=C3=83's=20for=20presentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/pp/battleship/client/EffectHandler.java | 1 + .../client/src/main/java/pp/battleship/client/GameMusic.java | 1 + .../client/src/main/java/pp/battleship/client/Menu.java | 2 +- .../src/main/java/pp/battleship/client/NetworkDialog.java | 1 + .../java/pp/battleship/client/gui/MapViewSynchronizer.java | 1 + .../main/java/pp/battleship/client/gui/SeaSynchronizer.java | 4 +++- .../src/main/java/pp/battleship/game/client/BattleState.java | 3 ++- .../main/java/pp/battleship/game/client/ShootingState.java | 1 + .../main/java/pp/battleship/game/server/ServerGameLogic.java | 1 + .../model/src/main/java/pp/battleship/model/Shell.java | 1 + 10 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/EffectHandler.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/EffectHandler.java index 10908a1f..4c24b979 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/EffectHandler.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/EffectHandler.java @@ -20,6 +20,7 @@ * EffectHandler manages the creation and manipulation of particle effects in the Battleship application. */ public class EffectHandler { + //TODO: Ex. 12 EffectHandler private final BattleshipApp app; private final Map> effects; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/GameMusic.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/GameMusic.java index 2f787e96..1ea53cb2 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/GameMusic.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/GameMusic.java @@ -14,6 +14,7 @@ * An application state that plays sounds. */ public class GameMusic extends AbstractAppState { + //TODO: Ex. 10 GameMusic private static final Preferences PREFERENCES = getPreferences(GameMusic.class); private static final String ENABLED_PREF = "enabled"; private static final String VOLUME_PREF = "volume"; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java index d27c267f..10e34daa 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java @@ -48,7 +48,7 @@ public Menu(BattleshipApp app) { addChild(new Label(lookup("battleship.name"), new ElementId("header"))); //NON-NLS addChild(new Checkbox(lookup("menu.sound-enabled"), new StateCheckboxModel(app, GameSound.class))); - + //TODO: Ex. 10 VolumeSlider addChild(new Checkbox(lookup("menu.music-enabled"), new StateCheckboxModel(app, GameMusic.class))); addChild(volumeSlider); diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkDialog.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkDialog.java index a396f553..887667c0 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkDialog.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkDialog.java @@ -61,6 +61,7 @@ class NetworkDialog extends SimpleDialog { input.addChild(host, 1); input.addChild(new Label(lookup("port.number") + ": ")); input.addChild(port, 1); + //TODO: Ex. 11 ClientHost Checkbox clientHostCheckbox = new Checkbox("Host Server"); input.addChild(clientHostCheckbox); DialogBuilder.simple(app.getDialogManager()) diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapViewSynchronizer.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapViewSynchronizer.java index c8bb2a97..d295dba9 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapViewSynchronizer.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapViewSynchronizer.java @@ -126,6 +126,7 @@ public Spatial visit(Battleship ship) { */ @Override public Spatial visit(Shell shell) { + //TODO: Ex. 13 2D Shell final ColorRGBA color = ColorRGBA.Black; Geometry ellipse = new Geometry("ellipse", new Sphere(50, 50, MapView.FIELD_SIZE / 2 * 0.8f)); Material mat = new Material(view.getApp().getAssetManager(), UNSHADED); //NON-NLS diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java index 5e5336eb..1be9c4e6 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java @@ -92,7 +92,7 @@ private Spatial handleMiss(Shot shot) { private Spatial handleHit(Shot shot) { final Battleship ship = requireNonNull(map.findShipAt(shot), "Missing ship"); final Node shipNode = requireNonNull((Node) getSpatial(ship), "Missing ship node"); - + //TODO: Ex. 12 Hit shipNode.getControl(ShipControl.class).hit(shot); if (ship.isDestroyed()) { shipNode.getControl(ShipControl.class).destroyed(); @@ -149,6 +149,7 @@ public Spatial visit(Battleship ship) { final float x = 0.5f * (ship.getMinY() + ship.getMaxY() + 1f); final float z = 0.5f * (ship.getMinX() + ship.getMaxX() + 1f); node.setLocalTranslation(x, 0f, z); + //TODO: Ex. 12 ShipControl node.addControl(new ShipControl(ship, node, app.getEffectHandler())); return node; } @@ -162,6 +163,7 @@ public Spatial visit(Battleship ship) { */ @Override public Spatial visit(Shell shell) { + //TODO: Ex. 13 3D Shell final Spatial model = app.getAssetManager().loadModel("Models/Shell/shell.j3o"); model.setLocalScale(.05f); model.setShadowMode(ShadowMode.CastAndReceive); 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 d88ab98a..d8426e43 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 @@ -57,9 +57,10 @@ public void receivedEffect(EffectMessage msg) { myTurn = msg.isMyTurn(); logic.setInfoText(msg.getInfoTextKey()); - + //TODO: Ex. 13 add shell -> ItemAddedEvent Shell shell = new Shell(msg.getShot()); affectedMap(msg).add(shell); + //TODO: Ex. 13 Shell sound -> GameSound logic.playSound(Sound.SHELL_FLYING); logic.setState(new ShootingState(logic, shell, myTurn, msg)); } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ShootingState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ShootingState.java index 75312b23..ce75aefe 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ShootingState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ShootingState.java @@ -26,6 +26,7 @@ public class ShootingState extends ClientState { * @param msg the effect message associated with the shooting action */ public ShootingState(ClientGameLogic logic, Shell shell, boolean myTurn, EffectMessage msg) { + //TODO: Ex. 13 ShootingState super(logic); this.msg = msg; this.myTurn = myTurn; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerGameLogic.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerGameLogic.java index c193f375..d136a5e9 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerGameLogic.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerGameLogic.java @@ -221,6 +221,7 @@ private boolean checkMap(List ships) { */ @Override public void received(ShootMessage msg, int from) { + //TODO: Ex. 13 Server State if (state != ServerState.BATTLE) LOGGER.log(Level.ERROR, "shoot not allowed in {0}", state); //NON-NLS else{ diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/Shell.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/Shell.java index 6888cfe5..c97ef29f 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/Shell.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/Shell.java @@ -9,6 +9,7 @@ * a Bezier curve. */ public class Shell implements Item { + //TODO: Ex. 13 Shell /** * Initial position of the shell */