From 8b5a5506e770774ede2b36a65db61434e1d92f45 Mon Sep 17 00:00:00 2001 From: David Wu Date: Tue, 5 Sep 2017 14:00:15 +1200 Subject: [PATCH] Boat collisions now play a sound when user collides and a quieter sound when others collide. #story[1195] --- .../src/main/java/mock/app/Event.java | 1 - .../BoatCollisionCommand.java | 10 ++++++++-- .../visualiser/sounds/quietcollision.wav | Bin 0 -> 33940 bytes 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 racevisionGame/src/main/resources/visualiser/sounds/quietcollision.wav diff --git a/racevisionGame/src/main/java/mock/app/Event.java b/racevisionGame/src/main/java/mock/app/Event.java index c9ef3d5b..c054e2fb 100644 --- a/racevisionGame/src/main/java/mock/app/Event.java +++ b/racevisionGame/src/main/java/mock/app/Event.java @@ -81,7 +81,6 @@ public class Event { String raceXMLFile = "mock/mockXML/raceTest.xml"; String boatsXMLFile = "mock/mockXML/boatTest.xml"; - //String boatsXMLFile = "mock/mockXML/boatsSinglePlayer.xml"; String regattaXMLFile = "mock/mockXML/regattaTest.xml"; if (singlePlayer) { diff --git a/racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatCollisionCommand.java b/racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatCollisionCommand.java index 7e2047d7..c3046d18 100644 --- a/racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatCollisionCommand.java +++ b/racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatCollisionCommand.java @@ -1,5 +1,6 @@ package visualiser.Commands.VisualiserRaceCommands; +import javafx.scene.media.AudioClip; import mock.model.commandFactory.Command; import network.Messages.YachtEvent; import visualiser.model.VisualiserRaceState; @@ -23,9 +24,14 @@ public class BoatCollisionCommand implements Command { public void execute() { if(visualiserRace.getPlayerBoatID()==yachtEvent.getSourceID()){ - System.out.println("Someone else crashed!"); - } else { System.out.println("I crashed!"); + AudioClip sound = new AudioClip(this.getClass().getResource("/visualiser/sounds/collision.wav").toExternalForm()); + sound.play(); + + } else { + System.out.println("Someone else crashed!"); + AudioClip sound = new AudioClip(this.getClass().getResource("/visualiser/sounds/quietcollision.wav").toExternalForm()); + sound.play(); } //System.out.println("Collision command executed!"); diff --git a/racevisionGame/src/main/resources/visualiser/sounds/quietcollision.wav b/racevisionGame/src/main/resources/visualiser/sounds/quietcollision.wav new file mode 100644 index 0000000000000000000000000000000000000000..d1c8a01ea67021e1853b7c56f8fbee294941ebc8 GIT binary patch literal 33940 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