From 0c4808ce8e05ed9b463693f107e17fc0394e045a Mon Sep 17 00:00:00 2001 From: kn5886348135 <56352848+kn5886348135@users.noreply.github.com> Date: Wed, 23 Nov 2022 15:27:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/tankbattle/Main.java | 4 ++- .../com/example/tankbattle/PropertyMgr.java | 29 ++++++++++++++++++ .../com/example/tankbattle/TankFrame.java | 3 +- src/main/resources/Config.properties | 6 ++++ .../{java => resources}/audio/explode.wav | Bin .../{java => resources}/audio/tank_fire.wav | Bin .../{java => resources}/audio/tank_move.wav | Bin src/main/{java => resources}/audio/war1.wav | Bin 8 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/example/tankbattle/PropertyMgr.java create mode 100644 src/main/resources/Config.properties rename src/main/{java => resources}/audio/explode.wav (100%) rename src/main/{java => resources}/audio/tank_fire.wav (100%) rename src/main/{java => resources}/audio/tank_move.wav (100%) rename src/main/{java => resources}/audio/war1.wav (100%) diff --git a/src/main/java/com/example/tankbattle/Main.java b/src/main/java/com/example/tankbattle/Main.java index 0c625a7..72ac5d9 100644 --- a/src/main/java/com/example/tankbattle/Main.java +++ b/src/main/java/com/example/tankbattle/Main.java @@ -4,8 +4,10 @@ public class Main { public static void main(String[] args) throws InterruptedException { TankFrame tf = new TankFrame(); + int initTankCount = Integer.valueOf(PropertyMgr.get("initTankCount")); + // 初始化敌方坦克 - for (int i = 0; i < 5; i++) { + for (int i = 0; i < initTankCount; i++) { tf.tanks.add(new Tank(50 + i * 80, 200, Dir.DOWN, Group.BAD, tf)); } diff --git a/src/main/java/com/example/tankbattle/PropertyMgr.java b/src/main/java/com/example/tankbattle/PropertyMgr.java new file mode 100644 index 0000000..e64e1d6 --- /dev/null +++ b/src/main/java/com/example/tankbattle/PropertyMgr.java @@ -0,0 +1,29 @@ +package com.example.tankbattle; + +import java.io.IOException; +import java.util.Properties; + +public class PropertyMgr { + private static Properties properties = new Properties(); + static { + try { + properties.load(PropertyMgr.class.getClassLoader().getResourceAsStream("config.properties")); + } catch (IOException exception) { + exception.printStackTrace(); + } + } + + public static String get(String key) { + if (properties == null) { + return null; + } + return properties.getProperty(key); + } + + //int getInt(key) + //getString(key) + + public static void main(String[] args) { + System.out.println(PropertyMgr.get("initTankCount")); + } +} diff --git a/src/main/java/com/example/tankbattle/TankFrame.java b/src/main/java/com/example/tankbattle/TankFrame.java index eebf9d3..abbc4ab 100644 --- a/src/main/java/com/example/tankbattle/TankFrame.java +++ b/src/main/java/com/example/tankbattle/TankFrame.java @@ -20,7 +20,8 @@ public class TankFrame extends Frame { List explodes = new ArrayList<>(); - static final int GAME_WIDTH = 1080, GAME_HEIGHT = 960; + static final int GAME_WIDTH = Integer.valueOf(PropertyMgr.get("gameWidth")); + static final int GAME_HEIGHT = Integer.valueOf(PropertyMgr.get("gameHeight")); public TankFrame() { setSize(GAME_WIDTH, GAME_HEIGHT); diff --git a/src/main/resources/Config.properties b/src/main/resources/Config.properties new file mode 100644 index 0000000..e4efb82 --- /dev/null +++ b/src/main/resources/Config.properties @@ -0,0 +1,6 @@ +# tanks count at initialization +initTankCount=10 +tankSpeed=5 +bulletSpeed=10 +gameWidth=1080 +gameHeight=720 \ No newline at end of file diff --git a/src/main/java/audio/explode.wav b/src/main/resources/audio/explode.wav similarity index 100% rename from src/main/java/audio/explode.wav rename to src/main/resources/audio/explode.wav diff --git a/src/main/java/audio/tank_fire.wav b/src/main/resources/audio/tank_fire.wav similarity index 100% rename from src/main/java/audio/tank_fire.wav rename to src/main/resources/audio/tank_fire.wav diff --git a/src/main/java/audio/tank_move.wav b/src/main/resources/audio/tank_move.wav similarity index 100% rename from src/main/java/audio/tank_move.wav rename to src/main/resources/audio/tank_move.wav diff --git a/src/main/java/audio/war1.wav b/src/main/resources/audio/war1.wav similarity index 100% rename from src/main/java/audio/war1.wav rename to src/main/resources/audio/war1.wav