From b8a450c7dcaaa81ada9a15ea36fdc5e13aa81c51 Mon Sep 17 00:00:00 2001 From: Ole Wachtel Date: Mon, 28 Oct 2024 12:34:38 +0100 Subject: [PATCH 1/6] add Java Project --- SchiffeVersenken/.gitignore | 29 +++++++++++++++++++ SchiffeVersenken/.idea/.gitignore | 3 ++ SchiffeVersenken/.idea/misc.xml | 6 ++++ SchiffeVersenken/.idea/modules.xml | 8 +++++ SchiffeVersenken/.idea/vcs.xml | 6 ++++ SchiffeVersenken/SchiffeVersenken.iml | 11 +++++++ .../src/HalloSchiffeVersenken.java | 8 +++++ 7 files changed, 71 insertions(+) create mode 100644 SchiffeVersenken/.gitignore create mode 100644 SchiffeVersenken/.idea/.gitignore create mode 100644 SchiffeVersenken/.idea/misc.xml create mode 100644 SchiffeVersenken/.idea/modules.xml create mode 100644 SchiffeVersenken/.idea/vcs.xml create mode 100644 SchiffeVersenken/SchiffeVersenken.iml create mode 100644 SchiffeVersenken/src/HalloSchiffeVersenken.java diff --git a/SchiffeVersenken/.gitignore b/SchiffeVersenken/.gitignore new file mode 100644 index 0000000..f68d109 --- /dev/null +++ b/SchiffeVersenken/.gitignore @@ -0,0 +1,29 @@ +### IntelliJ IDEA ### +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/SchiffeVersenken/.idea/.gitignore b/SchiffeVersenken/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/SchiffeVersenken/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/SchiffeVersenken/.idea/misc.xml b/SchiffeVersenken/.idea/misc.xml new file mode 100644 index 0000000..9a4678d --- /dev/null +++ b/SchiffeVersenken/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SchiffeVersenken/.idea/modules.xml b/SchiffeVersenken/.idea/modules.xml new file mode 100644 index 0000000..61f5ebb --- /dev/null +++ b/SchiffeVersenken/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/SchiffeVersenken/.idea/vcs.xml b/SchiffeVersenken/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/SchiffeVersenken/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SchiffeVersenken/SchiffeVersenken.iml b/SchiffeVersenken/SchiffeVersenken.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/SchiffeVersenken/SchiffeVersenken.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/SchiffeVersenken/src/HalloSchiffeVersenken.java b/SchiffeVersenken/src/HalloSchiffeVersenken.java new file mode 100644 index 0000000..010be25 --- /dev/null +++ b/SchiffeVersenken/src/HalloSchiffeVersenken.java @@ -0,0 +1,8 @@ +public class HalloSchiffeVersenken { + + public static void main(String[] args){ + + System.out.println("HelloSchiffeVersenekn"); + + } +} -- 2.40.1 From 07b839fef556430859f52847e1fa6d9bc556df60 Mon Sep 17 00:00:00 2001 From: Ole Wachtel Date: Mon, 28 Oct 2024 16:23:48 +0100 Subject: [PATCH 2/6] add SoundHandler to Play sounds and Mute global --- .../.idea/libraries/jlayer_1_0_3.xml | 9 +++++ SchiffeVersenken/SchiffeVersenken.iml | 1 + .../src/HalloSchiffeVersenken.java | 13 +++++- SchiffeVersenken/src/SoundHandler.java | 37 ++++++++++++++++++ SchiffeVersenken/src/Sounds.java | 25 ++++++++++++ Sound/water-drip.mp3 | Bin 0 -> 26400 bytes 6 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 SchiffeVersenken/.idea/libraries/jlayer_1_0_3.xml create mode 100644 SchiffeVersenken/src/SoundHandler.java create mode 100644 SchiffeVersenken/src/Sounds.java create mode 100644 Sound/water-drip.mp3 diff --git a/SchiffeVersenken/.idea/libraries/jlayer_1_0_3.xml b/SchiffeVersenken/.idea/libraries/jlayer_1_0_3.xml new file mode 100644 index 0000000..2457be1 --- /dev/null +++ b/SchiffeVersenken/.idea/libraries/jlayer_1_0_3.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/SchiffeVersenken/SchiffeVersenken.iml b/SchiffeVersenken/SchiffeVersenken.iml index c90834f..42f81cc 100644 --- a/SchiffeVersenken/SchiffeVersenken.iml +++ b/SchiffeVersenken/SchiffeVersenken.iml @@ -7,5 +7,6 @@ + \ No newline at end of file diff --git a/SchiffeVersenken/src/HalloSchiffeVersenken.java b/SchiffeVersenken/src/HalloSchiffeVersenken.java index 010be25..b84600f 100644 --- a/SchiffeVersenken/src/HalloSchiffeVersenken.java +++ b/SchiffeVersenken/src/HalloSchiffeVersenken.java @@ -1,8 +1,19 @@ public class HalloSchiffeVersenken { - public static void main(String[] args){ + public static void main(String[] args) throws InterruptedException { System.out.println("HelloSchiffeVersenekn"); + + System.out.println("sound"); + SoundHandler.playSound("hit"); + Thread.sleep(3000); + System.out.println("sound"); + SoundHandler.playSound("hit"); + SoundHandler.setSoundOn(false); + System.out.println("sound off"); + SoundHandler.playSound("hit"); + + } } diff --git a/SchiffeVersenken/src/SoundHandler.java b/SchiffeVersenken/src/SoundHandler.java new file mode 100644 index 0000000..d0f3c56 --- /dev/null +++ b/SchiffeVersenken/src/SoundHandler.java @@ -0,0 +1,37 @@ +import javazoom.jl.decoder.JavaLayerException; +import javazoom.jl.player.Player; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public class SoundHandler { + + private static boolean soundOn = true; + private static HashMap sounds = new HashMap(Map.of( + "hit", "~/../../Sound/water-drip.mp3" + )); + + public static void playSound(String soundName) { + if (soundOn) { + try { + Player player = new Player(new FileInputStream(sounds.get(soundName))); + player.play(); + } catch (JavaLayerException | FileNotFoundException e) { + System.out.println("dslkfsfnsldfnlsnfsdnölscls"); + e.printStackTrace(); + } + } + } + + static void add(String soundName, String path){ + sounds.put(soundName, path); + } + + static void setSoundOn(boolean sound){ + soundOn= sound; + } + +} diff --git a/SchiffeVersenken/src/Sounds.java b/SchiffeVersenken/src/Sounds.java new file mode 100644 index 0000000..bfade1a --- /dev/null +++ b/SchiffeVersenken/src/Sounds.java @@ -0,0 +1,25 @@ +public class Sounds { + private String soundName; + private String path; + + public Sounds(String soundName, String path){ + setSoundName(soundName); + setPath(path); + } + + public String getSoundName() { + return soundName; + } + + public void setSoundName(String soundName) { + this.soundName = soundName; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} diff --git a/Sound/water-drip.mp3 b/Sound/water-drip.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..baa0eb5e996f0ed44ff424683e4d8012431f2e1b GIT binary patch literal 26400 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 Date: Mon, 28 Oct 2024 16:26:49 +0100 Subject: [PATCH 3/6] delete Sounds.java --- SchiffeVersenken/src/Sounds.java | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 SchiffeVersenken/src/Sounds.java diff --git a/SchiffeVersenken/src/Sounds.java b/SchiffeVersenken/src/Sounds.java deleted file mode 100644 index bfade1a..0000000 --- a/SchiffeVersenken/src/Sounds.java +++ /dev/null @@ -1,25 +0,0 @@ -public class Sounds { - private String soundName; - private String path; - - public Sounds(String soundName, String path){ - setSoundName(soundName); - setPath(path); - } - - public String getSoundName() { - return soundName; - } - - public void setSoundName(String soundName) { - this.soundName = soundName; - } - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } -} -- 2.40.1 From 33b5749b9f2b0e51fc0206ed5b433a1112b79742 Mon Sep 17 00:00:00 2001 From: Ole Wachtel Date: Tue, 29 Oct 2024 12:39:45 +0100 Subject: [PATCH 4/6] add classes blank --- SchiffeVersenken/src/Board.java | 2 ++ SchiffeVersenken/src/HitResponse.java | 6 ++++++ SchiffeVersenken/src/HitResponseType.java | 3 +++ SchiffeVersenken/src/OnlinePlayer.java | 5 +++++ SchiffeVersenken/src/Player.java | 26 +++++++++++++++++++++++ 5 files changed, 42 insertions(+) create mode 100644 SchiffeVersenken/src/Board.java create mode 100644 SchiffeVersenken/src/HitResponse.java create mode 100644 SchiffeVersenken/src/HitResponseType.java create mode 100644 SchiffeVersenken/src/OnlinePlayer.java create mode 100644 SchiffeVersenken/src/Player.java diff --git a/SchiffeVersenken/src/Board.java b/SchiffeVersenken/src/Board.java new file mode 100644 index 0000000..edb598b --- /dev/null +++ b/SchiffeVersenken/src/Board.java @@ -0,0 +1,2 @@ +public class Board { +} diff --git a/SchiffeVersenken/src/HitResponse.java b/SchiffeVersenken/src/HitResponse.java new file mode 100644 index 0000000..f5c3913 --- /dev/null +++ b/SchiffeVersenken/src/HitResponse.java @@ -0,0 +1,6 @@ +import java.awt.*; + +public class HitResponse { + private HitResponseType type; + private Point point; +} diff --git a/SchiffeVersenken/src/HitResponseType.java b/SchiffeVersenken/src/HitResponseType.java new file mode 100644 index 0000000..4b1237c --- /dev/null +++ b/SchiffeVersenken/src/HitResponseType.java @@ -0,0 +1,3 @@ +public enum HitResponseType { + MISS, HIT, SUNK, VICTORY +} diff --git a/SchiffeVersenken/src/OnlinePlayer.java b/SchiffeVersenken/src/OnlinePlayer.java new file mode 100644 index 0000000..f53d50d --- /dev/null +++ b/SchiffeVersenken/src/OnlinePlayer.java @@ -0,0 +1,5 @@ +import java.net.Socket; + +public abstract class OnlinePlayer extends Player{ + private Socket socket; +} diff --git a/SchiffeVersenken/src/Player.java b/SchiffeVersenken/src/Player.java new file mode 100644 index 0000000..b298c07 --- /dev/null +++ b/SchiffeVersenken/src/Player.java @@ -0,0 +1,26 @@ +import java.awt.*; + +public abstract class Player { + private boolean myTurn; + private boolean isServer; + private boolean waitingForResponse; + private Player enemy; + private String name; + private Board board; + + public void receiveShoot(Point point) { + + } + + public void receiveHit(HitResponse hitResponse) { + + } + + public void click(Point point) { + + } + + public void beginTrun() { + + } +} -- 2.40.1 From c41dfbe243fb98c6948015715182a72518959932 Mon Sep 17 00:00:00 2001 From: Ole Wachtel Date: Tue, 29 Oct 2024 12:45:48 +0100 Subject: [PATCH 5/6] change project struktur --- SchiffeVersenken/.gitignore => .gitignore | 0 {SchiffeVersenken/.idea => .idea}/.gitignore | 0 .../libraries/jlayer_1_0_3.xml | 0 {SchiffeVersenken/.idea => .idea}/misc.xml | 1 - {SchiffeVersenken/.idea => .idea}/modules.xml | 0 {SchiffeVersenken/.idea => .idea}/vcs.xml | 0 ...hiffeVersenken.iml => SchiffeVersenken.iml | 0 SchiffeVersenken/.idea/workspace.xml | 134 ++++++++++++++++++ {SchiffeVersenken/src => src}/Board.java | 0 .../src => src}/HalloSchiffeVersenken.java | 0 .../src => src}/HitResponse.java | 0 .../src => src}/HitResponseType.java | 0 .../src => src}/OnlinePlayer.java | 0 {SchiffeVersenken/src => src}/Player.java | 0 .../src => src}/SoundHandler.java | 0 15 files changed, 134 insertions(+), 1 deletion(-) rename SchiffeVersenken/.gitignore => .gitignore (100%) rename {SchiffeVersenken/.idea => .idea}/.gitignore (100%) rename {SchiffeVersenken/.idea => .idea}/libraries/jlayer_1_0_3.xml (100%) rename {SchiffeVersenken/.idea => .idea}/misc.xml (80%) rename {SchiffeVersenken/.idea => .idea}/modules.xml (100%) rename {SchiffeVersenken/.idea => .idea}/vcs.xml (100%) rename SchiffeVersenken/SchiffeVersenken.iml => SchiffeVersenken.iml (100%) create mode 100644 SchiffeVersenken/.idea/workspace.xml rename {SchiffeVersenken/src => src}/Board.java (100%) rename {SchiffeVersenken/src => src}/HalloSchiffeVersenken.java (100%) rename {SchiffeVersenken/src => src}/HitResponse.java (100%) rename {SchiffeVersenken/src => src}/HitResponseType.java (100%) rename {SchiffeVersenken/src => src}/OnlinePlayer.java (100%) rename {SchiffeVersenken/src => src}/Player.java (100%) rename {SchiffeVersenken/src => src}/SoundHandler.java (100%) diff --git a/SchiffeVersenken/.gitignore b/.gitignore similarity index 100% rename from SchiffeVersenken/.gitignore rename to .gitignore diff --git a/SchiffeVersenken/.idea/.gitignore b/.idea/.gitignore similarity index 100% rename from SchiffeVersenken/.idea/.gitignore rename to .idea/.gitignore diff --git a/SchiffeVersenken/.idea/libraries/jlayer_1_0_3.xml b/.idea/libraries/jlayer_1_0_3.xml similarity index 100% rename from SchiffeVersenken/.idea/libraries/jlayer_1_0_3.xml rename to .idea/libraries/jlayer_1_0_3.xml diff --git a/SchiffeVersenken/.idea/misc.xml b/.idea/misc.xml similarity index 80% rename from SchiffeVersenken/.idea/misc.xml rename to .idea/misc.xml index 9a4678d..1dccf1b 100644 --- a/SchiffeVersenken/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/SchiffeVersenken/.idea/modules.xml b/.idea/modules.xml similarity index 100% rename from SchiffeVersenken/.idea/modules.xml rename to .idea/modules.xml diff --git a/SchiffeVersenken/.idea/vcs.xml b/.idea/vcs.xml similarity index 100% rename from SchiffeVersenken/.idea/vcs.xml rename to .idea/vcs.xml diff --git a/SchiffeVersenken/SchiffeVersenken.iml b/SchiffeVersenken.iml similarity index 100% rename from SchiffeVersenken/SchiffeVersenken.iml rename to SchiffeVersenken.iml diff --git a/SchiffeVersenken/.idea/workspace.xml b/SchiffeVersenken/.idea/workspace.xml new file mode 100644 index 0000000..dae9c6a --- /dev/null +++ b/SchiffeVersenken/.idea/workspace.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + { + "customColor": "", + "associatedIndex": -1 +} + + + + + + + + + + + + + + + + + + 1730115126753 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SchiffeVersenken/src/Board.java b/src/Board.java similarity index 100% rename from SchiffeVersenken/src/Board.java rename to src/Board.java diff --git a/SchiffeVersenken/src/HalloSchiffeVersenken.java b/src/HalloSchiffeVersenken.java similarity index 100% rename from SchiffeVersenken/src/HalloSchiffeVersenken.java rename to src/HalloSchiffeVersenken.java diff --git a/SchiffeVersenken/src/HitResponse.java b/src/HitResponse.java similarity index 100% rename from SchiffeVersenken/src/HitResponse.java rename to src/HitResponse.java diff --git a/SchiffeVersenken/src/HitResponseType.java b/src/HitResponseType.java similarity index 100% rename from SchiffeVersenken/src/HitResponseType.java rename to src/HitResponseType.java diff --git a/SchiffeVersenken/src/OnlinePlayer.java b/src/OnlinePlayer.java similarity index 100% rename from SchiffeVersenken/src/OnlinePlayer.java rename to src/OnlinePlayer.java diff --git a/SchiffeVersenken/src/Player.java b/src/Player.java similarity index 100% rename from SchiffeVersenken/src/Player.java rename to src/Player.java diff --git a/SchiffeVersenken/src/SoundHandler.java b/src/SoundHandler.java similarity index 100% rename from SchiffeVersenken/src/SoundHandler.java rename to src/SoundHandler.java -- 2.40.1 From 9a661633b99226f02f4ce573c47632ce98d93839 Mon Sep 17 00:00:00 2001 From: Ole Wachtel Date: Tue, 29 Oct 2024 12:46:38 +0100 Subject: [PATCH 6/6] fix sound path --- .idea/vcs.xml | 1 + src/SoundHandler.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 6c0b863..288b36b 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/src/SoundHandler.java b/src/SoundHandler.java index d0f3c56..028eda1 100644 --- a/src/SoundHandler.java +++ b/src/SoundHandler.java @@ -11,7 +11,7 @@ public class SoundHandler { private static boolean soundOn = true; private static HashMap sounds = new HashMap(Map.of( - "hit", "~/../../Sound/water-drip.mp3" + "hit", "~/../Sound/water-drip.mp3" )); public static void playSound(String soundName) { -- 2.40.1