From e8430624565a4939be2a583e37139f1f17472d54 Mon Sep 17 00:00:00 2001 From: SemvdH <45453592+SemvdH@users.noreply.github.com> Date: Fri, 15 May 2020 20:19:18 +0200 Subject: [PATCH 1/9] Create gradle.yml added CI --- .github/workflows/gradle.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/gradle.yml diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 0000000..58e1c59 --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,26 @@ +# This workflow will build a Java project with Gradle +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle + +name: Java CI with Gradle + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Build with Gradle + run: ./gradlew build From 46ae15b1c7bf0ca149de2a346b42085c7e1287dd Mon Sep 17 00:00:00 2001 From: MickWerf Date: Fri, 15 May 2020 21:28:56 +0200 Subject: [PATCH 2/9] Structure change to fit new design. Added skeleton for Characters and abilities. Added ability and Character super classes. Added code to character superclass. Added faction Enum --- core/src/netwerkprog/game/client/Client.java | 4 ++- .../controllers/GraphicsController.java | 14 --------- .../client/controllers/LogicController.java | 15 ---------- .../client/controllers/SessionController.java | 14 --------- .../netwerkprog/game/client/game/Game.java | 15 ++++++++++ .../game/client/game/Graphics.java | 14 +++++++++ .../game/client/game/characters/DevTest1.java | 4 +++ .../game/client/game/characters/DevTest2.java | 4 +++ .../game/characters/abilities/BodySwap.java | 4 +++ .../game/characters/abilities/Implant.java | 4 +++ .../characters/abilities/MindControl.java | 4 +++ .../characters/abilities/OverrideOrders.java | 4 +++ .../game/characters/abilities/Scrambler.java | 4 +++ .../characters/abilities/ServerHardening.java | 4 +++ .../game/characters/abilities/Spyware.java | 4 +++ .../abilities/SystemicInfection.java | 4 +++ .../game/client/game/logic/Logic.java | 15 ++++++++++ .../game/client/{ => game}/map/Map.java | 2 +- .../client/{ => game}/map/MapRenderer.java | 2 +- core/src/netwerkprog/game/util/Ability.java | 4 +++ core/src/netwerkprog/game/util/Character.java | 30 +++++++++++++++++++ core/src/netwerkprog/game/util/Faction.java | 4 +++ core/src/test/java/MapTest.java | 2 +- 23 files changed, 128 insertions(+), 47 deletions(-) delete mode 100644 core/src/netwerkprog/game/client/controllers/GraphicsController.java delete mode 100644 core/src/netwerkprog/game/client/controllers/LogicController.java delete mode 100644 core/src/netwerkprog/game/client/controllers/SessionController.java create mode 100644 core/src/netwerkprog/game/client/game/Game.java create mode 100644 core/src/netwerkprog/game/client/game/Graphics.java create mode 100644 core/src/netwerkprog/game/client/game/characters/DevTest1.java create mode 100644 core/src/netwerkprog/game/client/game/characters/DevTest2.java create mode 100644 core/src/netwerkprog/game/client/game/characters/abilities/BodySwap.java create mode 100644 core/src/netwerkprog/game/client/game/characters/abilities/Implant.java create mode 100644 core/src/netwerkprog/game/client/game/characters/abilities/MindControl.java create mode 100644 core/src/netwerkprog/game/client/game/characters/abilities/OverrideOrders.java create mode 100644 core/src/netwerkprog/game/client/game/characters/abilities/Scrambler.java create mode 100644 core/src/netwerkprog/game/client/game/characters/abilities/ServerHardening.java create mode 100644 core/src/netwerkprog/game/client/game/characters/abilities/Spyware.java create mode 100644 core/src/netwerkprog/game/client/game/characters/abilities/SystemicInfection.java create mode 100644 core/src/netwerkprog/game/client/game/logic/Logic.java rename core/src/netwerkprog/game/client/{ => game}/map/Map.java (97%) rename core/src/netwerkprog/game/client/{ => game}/map/MapRenderer.java (94%) create mode 100644 core/src/netwerkprog/game/util/Ability.java create mode 100644 core/src/netwerkprog/game/util/Character.java create mode 100644 core/src/netwerkprog/game/util/Faction.java diff --git a/core/src/netwerkprog/game/client/Client.java b/core/src/netwerkprog/game/client/Client.java index 9e8bb1c..e227e8f 100644 --- a/core/src/netwerkprog/game/client/Client.java +++ b/core/src/netwerkprog/game/client/Client.java @@ -1,5 +1,7 @@ package netwerkprog.game.client; +import netwerkprog.game.util.Controller; + import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; @@ -7,7 +9,7 @@ import java.net.Socket; import java.util.Arrays; import java.util.Scanner; -public class Client extends Thread{ +public class Client extends Controller { private int port; private String hostname; private boolean isConnected = true; diff --git a/core/src/netwerkprog/game/client/controllers/GraphicsController.java b/core/src/netwerkprog/game/client/controllers/GraphicsController.java deleted file mode 100644 index ceabfc8..0000000 --- a/core/src/netwerkprog/game/client/controllers/GraphicsController.java +++ /dev/null @@ -1,14 +0,0 @@ -package netwerkprog.game.client.controllers; - -import netwerkprog.game.util.Controller; - -public class GraphicsController extends Controller { - public GraphicsController() { - - } - - @Override - public void run() { - - } -} diff --git a/core/src/netwerkprog/game/client/controllers/LogicController.java b/core/src/netwerkprog/game/client/controllers/LogicController.java deleted file mode 100644 index 79ad709..0000000 --- a/core/src/netwerkprog/game/client/controllers/LogicController.java +++ /dev/null @@ -1,15 +0,0 @@ -package netwerkprog.game.client.controllers; - -import netwerkprog.game.util.Controller; - -public class LogicController extends Controller { - - public LogicController() { - - } - - @Override - public void run() { - - } -} diff --git a/core/src/netwerkprog/game/client/controllers/SessionController.java b/core/src/netwerkprog/game/client/controllers/SessionController.java deleted file mode 100644 index 5e35d6d..0000000 --- a/core/src/netwerkprog/game/client/controllers/SessionController.java +++ /dev/null @@ -1,14 +0,0 @@ -package netwerkprog.game.client.controllers; - -import netwerkprog.game.util.Controller; - -public class SessionController extends Controller { - public SessionController() { - - } - - @Override - public void run() { - - } -} diff --git a/core/src/netwerkprog/game/client/game/Game.java b/core/src/netwerkprog/game/client/game/Game.java new file mode 100644 index 0000000..457cabc --- /dev/null +++ b/core/src/netwerkprog/game/client/game/Game.java @@ -0,0 +1,15 @@ +package netwerkprog.game.client.game; + +import netwerkprog.game.util.Controller; + +public class Game extends Controller { + + + public Game() { + } + + @Override + public void run() { + + } +} diff --git a/core/src/netwerkprog/game/client/game/Graphics.java b/core/src/netwerkprog/game/client/game/Graphics.java new file mode 100644 index 0000000..322f6c6 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/Graphics.java @@ -0,0 +1,14 @@ +package netwerkprog.game.client.game; + +import netwerkprog.game.util.Controller; + +public class Graphics extends Controller { + public Graphics() { + + } + + @Override + public void run() { + + } +} diff --git a/core/src/netwerkprog/game/client/game/characters/DevTest1.java b/core/src/netwerkprog/game/client/game/characters/DevTest1.java new file mode 100644 index 0000000..8a6cb7c --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/DevTest1.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters; + +public class DevTest1 { +} diff --git a/core/src/netwerkprog/game/client/game/characters/DevTest2.java b/core/src/netwerkprog/game/client/game/characters/DevTest2.java new file mode 100644 index 0000000..b4d78fa --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/DevTest2.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters; + +public class DevTest2 { +} diff --git a/core/src/netwerkprog/game/client/game/characters/abilities/BodySwap.java b/core/src/netwerkprog/game/client/game/characters/abilities/BodySwap.java new file mode 100644 index 0000000..97514b0 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/abilities/BodySwap.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters.abilities; + +public class BodySwap { +} diff --git a/core/src/netwerkprog/game/client/game/characters/abilities/Implant.java b/core/src/netwerkprog/game/client/game/characters/abilities/Implant.java new file mode 100644 index 0000000..1f86e28 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/abilities/Implant.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters.abilities; + +public class Implant { +} diff --git a/core/src/netwerkprog/game/client/game/characters/abilities/MindControl.java b/core/src/netwerkprog/game/client/game/characters/abilities/MindControl.java new file mode 100644 index 0000000..12d39ea --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/abilities/MindControl.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters.abilities; + +public class MindControl { +} diff --git a/core/src/netwerkprog/game/client/game/characters/abilities/OverrideOrders.java b/core/src/netwerkprog/game/client/game/characters/abilities/OverrideOrders.java new file mode 100644 index 0000000..3532bc6 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/abilities/OverrideOrders.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters.abilities; + +public class OverrideOrders { +} diff --git a/core/src/netwerkprog/game/client/game/characters/abilities/Scrambler.java b/core/src/netwerkprog/game/client/game/characters/abilities/Scrambler.java new file mode 100644 index 0000000..d5bba08 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/abilities/Scrambler.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters.abilities; + +public class Scrambler { +} diff --git a/core/src/netwerkprog/game/client/game/characters/abilities/ServerHardening.java b/core/src/netwerkprog/game/client/game/characters/abilities/ServerHardening.java new file mode 100644 index 0000000..387af72 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/abilities/ServerHardening.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters.abilities; + +public class ServerHardening { +} diff --git a/core/src/netwerkprog/game/client/game/characters/abilities/Spyware.java b/core/src/netwerkprog/game/client/game/characters/abilities/Spyware.java new file mode 100644 index 0000000..33a37b4 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/abilities/Spyware.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters.abilities; + +public class Spyware { +} diff --git a/core/src/netwerkprog/game/client/game/characters/abilities/SystemicInfection.java b/core/src/netwerkprog/game/client/game/characters/abilities/SystemicInfection.java new file mode 100644 index 0000000..6237dd0 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/characters/abilities/SystemicInfection.java @@ -0,0 +1,4 @@ +package netwerkprog.game.client.game.characters.abilities; + +public class SystemicInfection { +} diff --git a/core/src/netwerkprog/game/client/game/logic/Logic.java b/core/src/netwerkprog/game/client/game/logic/Logic.java new file mode 100644 index 0000000..98cb033 --- /dev/null +++ b/core/src/netwerkprog/game/client/game/logic/Logic.java @@ -0,0 +1,15 @@ +package netwerkprog.game.client.game.logic; + +import netwerkprog.game.util.Controller; + +public class Logic extends Controller { + + public Logic() { + + } + + @Override + public void run() { + + } +} diff --git a/core/src/netwerkprog/game/client/map/Map.java b/core/src/netwerkprog/game/client/game/map/Map.java similarity index 97% rename from core/src/netwerkprog/game/client/map/Map.java rename to core/src/netwerkprog/game/client/game/map/Map.java index c9da100..9fff0f7 100644 --- a/core/src/netwerkprog/game/client/map/Map.java +++ b/core/src/netwerkprog/game/client/game/map/Map.java @@ -1,4 +1,4 @@ -package netwerkprog.game.client.map; +package netwerkprog.game.client.game.map; /** * Map class to hold a 2d array of tiles which will specify the map diff --git a/core/src/netwerkprog/game/client/map/MapRenderer.java b/core/src/netwerkprog/game/client/game/map/MapRenderer.java similarity index 94% rename from core/src/netwerkprog/game/client/map/MapRenderer.java rename to core/src/netwerkprog/game/client/game/map/MapRenderer.java index 38667aa..1bb0e10 100644 --- a/core/src/netwerkprog/game/client/map/MapRenderer.java +++ b/core/src/netwerkprog/game/client/game/map/MapRenderer.java @@ -1,4 +1,4 @@ -package netwerkprog.game.client.map; +package netwerkprog.game.client.game.map; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.SpriteBatch; diff --git a/core/src/netwerkprog/game/util/Ability.java b/core/src/netwerkprog/game/util/Ability.java new file mode 100644 index 0000000..4fce97d --- /dev/null +++ b/core/src/netwerkprog/game/util/Ability.java @@ -0,0 +1,4 @@ +package netwerkprog.game.util; + +public abstract class Ability { +} diff --git a/core/src/netwerkprog/game/util/Character.java b/core/src/netwerkprog/game/util/Character.java new file mode 100644 index 0000000..9b170f9 --- /dev/null +++ b/core/src/netwerkprog/game/util/Character.java @@ -0,0 +1,30 @@ +package netwerkprog.game.util; + +import java.util.Arrays; +import java.util.HashSet; + +public abstract class Character { + protected String name; + protected Faction faction; + protected HashSet abilities; + protected boolean override; + + Character(String name, Faction faction, Ability... abilities) { + this.name = name; + this.faction = faction; + this.abilities = new HashSet<>(Arrays.asList(abilities)); + this.override = false; + } + + public void addAbilities(Ability ability) { + this.abilities.add(ability); + } + + public void removeAbility(Ability ability) { + this.abilities.remove(ability); + } + + public void changeControl() { + this.override = !this.override; + } +} diff --git a/core/src/netwerkprog/game/util/Faction.java b/core/src/netwerkprog/game/util/Faction.java new file mode 100644 index 0000000..609f778 --- /dev/null +++ b/core/src/netwerkprog/game/util/Faction.java @@ -0,0 +1,4 @@ +package netwerkprog.game.util; + +public enum Faction { +} diff --git a/core/src/test/java/MapTest.java b/core/src/test/java/MapTest.java index 46ef0bd..946d9d8 100644 --- a/core/src/test/java/MapTest.java +++ b/core/src/test/java/MapTest.java @@ -1,4 +1,4 @@ -import netwerkprog.game.client.map.Map; +import netwerkprog.game.client.game.map.Map; import org.junit.Assert; import org.junit.Test; From 63f24b1bb1ad9e23ceb6d0ac1c26285f6379385b Mon Sep 17 00:00:00 2001 From: MickWerf Date: Fri, 15 May 2020 21:34:37 +0200 Subject: [PATCH 3/9] Added code to ability super class --- core/src/netwerkprog/game/util/Ability.java | 10 ++++++++++ core/src/netwerkprog/game/util/Character.java | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/src/netwerkprog/game/util/Ability.java b/core/src/netwerkprog/game/util/Ability.java index 4fce97d..4a0e61d 100644 --- a/core/src/netwerkprog/game/util/Ability.java +++ b/core/src/netwerkprog/game/util/Ability.java @@ -1,4 +1,14 @@ package netwerkprog.game.util; public abstract class Ability { + protected String name; + + public Ability(String name) { + this.name = name; + } + + + public abstract String getCommand(); + + } diff --git a/core/src/netwerkprog/game/util/Character.java b/core/src/netwerkprog/game/util/Character.java index 9b170f9..7be7734 100644 --- a/core/src/netwerkprog/game/util/Character.java +++ b/core/src/netwerkprog/game/util/Character.java @@ -9,7 +9,7 @@ public abstract class Character { protected HashSet abilities; protected boolean override; - Character(String name, Faction faction, Ability... abilities) { + public Character(String name, Faction faction, Ability... abilities) { this.name = name; this.faction = faction; this.abilities = new HashSet<>(Arrays.asList(abilities)); From 7969746bc12d6240cb9263c7e367fdaf1c2d5283 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Fri, 15 May 2020 21:45:57 +0200 Subject: [PATCH 4/9] Fixed issue with build. Changed MainGame to create a thread instead of a client and used the client as input for the thread Changed client to extend Controller instead of thread --- core/src/netwerkprog/game/MainGame.java | 6 +++--- core/src/netwerkprog/game/client/Client.java | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/core/src/netwerkprog/game/MainGame.java b/core/src/netwerkprog/game/MainGame.java index f21c24d..874d811 100644 --- a/core/src/netwerkprog/game/MainGame.java +++ b/core/src/netwerkprog/game/MainGame.java @@ -21,7 +21,7 @@ public class MainGame extends ApplicationAdapter { float screenWidth; float screenHeight; private FrameRate frameRate; - private Client client; + private Thread client; @Override public void create() { @@ -39,12 +39,12 @@ public class MainGame extends ApplicationAdapter { music.setVolume(.1f); music.play(); music.setLooping(true); - connectToServer(); } + private void connectToServer() { - client = new Client("localhost", Server.PORT); + client = new Thread(new Client("localhost", Server.PORT)); try { client.start(); } catch (Exception e) { diff --git a/core/src/netwerkprog/game/client/Client.java b/core/src/netwerkprog/game/client/Client.java index e227e8f..734b038 100644 --- a/core/src/netwerkprog/game/client/Client.java +++ b/core/src/netwerkprog/game/client/Client.java @@ -14,10 +14,7 @@ public class Client extends Controller { private String hostname; private boolean isConnected = true; - @Override - public void run() { - this.connect(); - } + public Client(String hostname, int port) { this.port = port; @@ -74,4 +71,9 @@ public class Client extends Controller { } } } + + @Override + public void run() { + this.connect(); + } } From 8dee45a844bc71d03bef9e8738326adb56d0fc36 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Mon, 18 May 2020 14:09:48 +0200 Subject: [PATCH 5/9] Added skeleton for Server Connection structure changes. Added Data and Event classes for Data saving on the server. Added DataParser class for translating requests to data. Added ServerData package --- core/src/netwerkprog/game/MainGame.java | 3 +- core/src/netwerkprog/game/client/Client.java | 5 +-- core/src/netwerkprog/game/server/Server.java | 1 - .../server/controllers/SessionController.java | 36 +++++++++++++------ .../netwerkprog/game/server/data/Data.java | 4 +++ .../game/server/data/DataParser.java | 10 ++++++ .../netwerkprog/game/server/data/Event.java | 4 +++ .../src/netwerkprog/game/util/ServerData.java | 8 +++++ 8 files changed, 56 insertions(+), 15 deletions(-) create mode 100644 core/src/netwerkprog/game/server/data/Data.java create mode 100644 core/src/netwerkprog/game/server/data/DataParser.java create mode 100644 core/src/netwerkprog/game/server/data/Event.java create mode 100644 core/src/netwerkprog/game/util/ServerData.java diff --git a/core/src/netwerkprog/game/MainGame.java b/core/src/netwerkprog/game/MainGame.java index 874d811..42e7bfd 100644 --- a/core/src/netwerkprog/game/MainGame.java +++ b/core/src/netwerkprog/game/MainGame.java @@ -8,7 +8,6 @@ import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import netwerkprog.game.client.Client; -import netwerkprog.game.server.Server; import netwerkprog.game.util.FrameRate; public class MainGame extends ApplicationAdapter { @@ -44,7 +43,7 @@ public class MainGame extends ApplicationAdapter { private void connectToServer() { - client = new Thread(new Client("localhost", Server.PORT)); + client = new Thread(new Client("localhost")); try { client.start(); } catch (Exception e) { diff --git a/core/src/netwerkprog/game/client/Client.java b/core/src/netwerkprog/game/client/Client.java index 734b038..058c7b4 100644 --- a/core/src/netwerkprog/game/client/Client.java +++ b/core/src/netwerkprog/game/client/Client.java @@ -1,6 +1,7 @@ package netwerkprog.game.client; import netwerkprog.game.util.Controller; +import netwerkprog.game.util.ServerData; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -16,8 +17,8 @@ public class Client extends Controller { - public Client(String hostname, int port) { - this.port = port; + public Client(String hostname) { + this.port = ServerData.port(); this.hostname = hostname; } diff --git a/core/src/netwerkprog/game/server/Server.java b/core/src/netwerkprog/game/server/Server.java index 50dcbb4..1e48ddb 100644 --- a/core/src/netwerkprog/game/server/Server.java +++ b/core/src/netwerkprog/game/server/Server.java @@ -8,7 +8,6 @@ public class Server { private SessionController sessionController; private Thread sessionThread; private HashMap gameThreads; - public static final int PORT = 8000; public void start() { this.sessionController = new SessionController(); diff --git a/core/src/netwerkprog/game/server/controllers/SessionController.java b/core/src/netwerkprog/game/server/controllers/SessionController.java index 8239891..409e3b5 100644 --- a/core/src/netwerkprog/game/server/controllers/SessionController.java +++ b/core/src/netwerkprog/game/server/controllers/SessionController.java @@ -1,8 +1,10 @@ package netwerkprog.game.server.controllers; -import netwerkprog.game.server.Server; import netwerkprog.game.server.ServerClient; +import netwerkprog.game.server.data.Data; +import netwerkprog.game.server.data.DataParser; import netwerkprog.game.util.Controller; +import netwerkprog.game.util.ServerData; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -14,6 +16,7 @@ import java.util.HashMap; public class SessionController extends Controller { private ServerSocket serverSocket; + private DataParser parser; private ArrayList clients = new ArrayList<>(); private HashMap clientThreads = new HashMap<>(); @@ -23,29 +26,29 @@ public class SessionController extends Controller { public void connect() { try { - this.serverSocket = new ServerSocket(Server.PORT); - System.out.println("[SERVER] listening on port " + Server.PORT); + this.serverSocket = new ServerSocket(ServerData.port()); + System.out.println("[SERVER] listening on port " + ServerData.port()); Socket socket = serverSocket.accept(); System.out.println("[SERVER] got new client on " + socket.getInetAddress().getHostAddress()); DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); DataInputStream inputStream = new DataInputStream(socket.getInputStream()); - outputStream.writeUTF("Enter nickname: "); - String nickname = inputStream.readUTF(); + outputStream.writeUTF("Enter username: "); + String username = inputStream.readUTF(); - System.out.println("[SERVER] got nickname " + nickname); - ServerClient serverClient = new ServerClient(nickname, socket, this); + System.out.println("[SERVER] got username " + username); + ServerClient serverClient = new ServerClient(username, socket, this); Thread t = new Thread(serverClient); t.start(); - clientThreads.put(nickname, t); + clientThreads.put(username, t); this.clients.add(serverClient); - sendMessage(nickname, "--- Welcome! ---\nPeople online : " + clients.size()); + sendMessage(username, "--- Welcome! ---\nPeople online : " + clients.size()); - clients.forEach(yeet -> sendToEveryoneExcept(nickname, nickname + " joined the server! [" + socket.getInetAddress().getHostAddress() + "]")); + clients.forEach(yeet -> sendToEveryoneExcept(username, username + " joined the server! [" + socket.getInetAddress().getHostAddress() + "]")); this.serverSocket.close(); @@ -101,4 +104,17 @@ public class SessionController extends Controller { } } } + + public void listen() { + + } + + //will most likely be removed. + public void parseData(String request) { + Data data = this.parser.parse(request); + } + + public void sendData(Data data) { + + } } diff --git a/core/src/netwerkprog/game/server/data/Data.java b/core/src/netwerkprog/game/server/data/Data.java new file mode 100644 index 0000000..eb7d778 --- /dev/null +++ b/core/src/netwerkprog/game/server/data/Data.java @@ -0,0 +1,4 @@ +package netwerkprog.game.server.data; + +public class Data { +} diff --git a/core/src/netwerkprog/game/server/data/DataParser.java b/core/src/netwerkprog/game/server/data/DataParser.java new file mode 100644 index 0000000..4212272 --- /dev/null +++ b/core/src/netwerkprog/game/server/data/DataParser.java @@ -0,0 +1,10 @@ +package netwerkprog.game.server.data; + +public class DataParser { + public DataParser() { + } + + public Data parse(String request) { + return null; + } +} diff --git a/core/src/netwerkprog/game/server/data/Event.java b/core/src/netwerkprog/game/server/data/Event.java new file mode 100644 index 0000000..9e67273 --- /dev/null +++ b/core/src/netwerkprog/game/server/data/Event.java @@ -0,0 +1,4 @@ +package netwerkprog.game.server.data; + +public class Event { +} diff --git a/core/src/netwerkprog/game/util/ServerData.java b/core/src/netwerkprog/game/util/ServerData.java new file mode 100644 index 0000000..5d9582a --- /dev/null +++ b/core/src/netwerkprog/game/util/ServerData.java @@ -0,0 +1,8 @@ +package netwerkprog.game.util; + +public class ServerData { + + public static int port() { + return 8000; + } +} From 94ecff6799184de211f18628121d0be32b567d26 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Mon, 18 May 2020 14:26:44 +0200 Subject: [PATCH 6/9] Abbreviated Connect function into the listen function on the sessionController --- .../server/controllers/SessionController.java | 89 +++++++++---------- 1 file changed, 44 insertions(+), 45 deletions(-) diff --git a/core/src/netwerkprog/game/server/controllers/SessionController.java b/core/src/netwerkprog/game/server/controllers/SessionController.java index 409e3b5..8e43ba2 100644 --- a/core/src/netwerkprog/game/server/controllers/SessionController.java +++ b/core/src/netwerkprog/game/server/controllers/SessionController.java @@ -6,8 +6,6 @@ import netwerkprog.game.server.data.DataParser; import netwerkprog.game.util.Controller; import netwerkprog.game.util.ServerData; -import java.io.DataInputStream; -import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; @@ -19,43 +17,44 @@ public class SessionController extends Controller { private DataParser parser; private ArrayList clients = new ArrayList<>(); private HashMap clientThreads = new HashMap<>(); + private boolean listening; public SessionController() { - + this.listening = true; } - public void connect() { - try { - this.serverSocket = new ServerSocket(ServerData.port()); - System.out.println("[SERVER] listening on port " + ServerData.port()); - Socket socket = serverSocket.accept(); - - System.out.println("[SERVER] got new client on " + socket.getInetAddress().getHostAddress()); - DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); - DataInputStream inputStream = new DataInputStream(socket.getInputStream()); - - outputStream.writeUTF("Enter username: "); - String username = inputStream.readUTF(); - - System.out.println("[SERVER] got username " + username); - ServerClient serverClient = new ServerClient(username, socket, this); - - Thread t = new Thread(serverClient); - t.start(); - - clientThreads.put(username, t); - this.clients.add(serverClient); - - sendMessage(username, "--- Welcome! ---\nPeople online : " + clients.size()); - - clients.forEach(yeet -> sendToEveryoneExcept(username, username + " joined the server! [" + socket.getInetAddress().getHostAddress() + "]")); - - - this.serverSocket.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } +// public void connect() { +// try { +// this.serverSocket = new ServerSocket(ServerData.port()); +// System.out.println("[SERVER] listening on port " + ServerData.port()); +// Socket socket = serverSocket.accept(); +// +// System.out.println("[SERVER] got new client on " + socket.getInetAddress().getHostAddress()); +// DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); +// DataInputStream inputStream = new DataInputStream(socket.getInputStream()); +// +// outputStream.writeUTF("Enter username: "); +// String username = inputStream.readUTF(); +// +// System.out.println("[SERVER] got username " + username); +// ServerClient serverClient = new ServerClient(username, socket, this); +// +// Thread t = new Thread(serverClient); +// t.start(); +// +// clientThreads.put(username, t); +// this.clients.add(serverClient); +// +// sendMessage(username, "--- Welcome! ---\nPeople online : " + clients.size()); +// +// clients.forEach(yeet -> sendToEveryoneExcept(username, username + " joined the server! [" + socket.getInetAddress().getHostAddress() + "]")); +// +// +// this.serverSocket.close(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } public void sendToEveryone(String text) { for (ServerClient serverClient : clients) { @@ -92,21 +91,21 @@ public class SessionController extends Controller { @Override public void run() { - boolean running = true; - while (running) { - System.out.println("Session thread active."); - connect(); - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } + while (listening) { + listen(); } } public void listen() { + try { + this.serverSocket = new ServerSocket(ServerData.port()); + System.out.println("[SERVER] listening on port " + ServerData.port()); + Socket socket = serverSocket.accept(); + this.serverSocket.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } } //will most likely be removed. From 7601496e40665607c21d586a1adcf5fb72a87758 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Mon, 18 May 2020 15:04:22 +0200 Subject: [PATCH 7/9] Added Data parser call to the ServerClient class. Added comments, helper functions and finished the framework of the SessionController. --- .../netwerkprog/game/server/ServerClient.java | 9 +- .../server/controllers/SessionController.java | 165 ++++++++++-------- 2 files changed, 101 insertions(+), 73 deletions(-) diff --git a/core/src/netwerkprog/game/server/ServerClient.java b/core/src/netwerkprog/game/server/ServerClient.java index 24d101e..e1bc642 100644 --- a/core/src/netwerkprog/game/server/ServerClient.java +++ b/core/src/netwerkprog/game/server/ServerClient.java @@ -1,6 +1,7 @@ package netwerkprog.game.server; import netwerkprog.game.server.controllers.SessionController; +import netwerkprog.game.server.data.Data; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -50,12 +51,14 @@ public class ServerClient implements Runnable { while (isConnected) { try { String received = this.in.readUTF(); - if (received.equals("\\quit")) { - isConnected = false; + Data data = server.parseData(received); + if (data.toString().equals("\\quit")) { + this.isConnected = false; this.server.removeClient(this); } else { - this.server.sendToEveryoneExcept(this.name,"<" + this.name + "> : " + received); + this.out.writeUTF(data.toString()); } + } catch (IOException e) { System.out.println("[SERVERCLIENT] caught exception - " + e.getMessage()); System.out.println("[SERVERCLIENT] terminating failing connection..."); diff --git a/core/src/netwerkprog/game/server/controllers/SessionController.java b/core/src/netwerkprog/game/server/controllers/SessionController.java index 8e43ba2..f82356c 100644 --- a/core/src/netwerkprog/game/server/controllers/SessionController.java +++ b/core/src/netwerkprog/game/server/controllers/SessionController.java @@ -6,70 +6,104 @@ import netwerkprog.game.server.data.DataParser; import netwerkprog.game.util.Controller; import netwerkprog.game.util.ServerData; +import java.io.DataInputStream; +import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.HashMap; +import java.util.Set; +/** + * The sessionController manages any connections from new clients and assigns individual threads to said clients. + */ public class SessionController extends Controller { - private ServerSocket serverSocket; - private DataParser parser; - private ArrayList clients = new ArrayList<>(); - private HashMap clientThreads = new HashMap<>(); + private final DataParser parser; + private final ArrayList clients = new ArrayList<>(); + private final HashMap clientThreads = new HashMap<>(); private boolean listening; public SessionController() { + this.parser = new DataParser(); this.listening = true; } -// public void connect() { -// try { -// this.serverSocket = new ServerSocket(ServerData.port()); -// System.out.println("[SERVER] listening on port " + ServerData.port()); -// Socket socket = serverSocket.accept(); -// -// System.out.println("[SERVER] got new client on " + socket.getInetAddress().getHostAddress()); -// DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); -// DataInputStream inputStream = new DataInputStream(socket.getInputStream()); -// -// outputStream.writeUTF("Enter username: "); -// String username = inputStream.readUTF(); -// -// System.out.println("[SERVER] got username " + username); -// ServerClient serverClient = new ServerClient(username, socket, this); -// -// Thread t = new Thread(serverClient); -// t.start(); -// -// clientThreads.put(username, t); -// this.clients.add(serverClient); -// -// sendMessage(username, "--- Welcome! ---\nPeople online : " + clients.size()); -// -// clients.forEach(yeet -> sendToEveryoneExcept(username, username + " joined the server! [" + socket.getInetAddress().getHostAddress() + "]")); -// -// -// this.serverSocket.close(); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } + /** + * Thread run method. + */ + @Override + public void run() { + while (listening) { + listen(); + } + } - public void sendToEveryone(String text) { + /** + * Listens for any new clients. + */ + public void listen() { + try { + ServerSocket serverSocket = new ServerSocket(ServerData.port()); + System.out.println("[SERVER] listening on port " + ServerData.port()); + registerClient(serverSocket.accept()); + serverSocket.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + + /** + * Registers a client to the server. + * @param socket The socket used for the client connections. + */ + public void registerClient(Socket socket) { + try { + System.out.println("[SERVER] got new client on " + socket.getInetAddress().getHostAddress()); + DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); + DataInputStream inputStream = new DataInputStream(socket.getInputStream()); + + outputStream.writeUTF("Enter username: "); + String username = inputStream.readUTF(); + + System.out.println("[SERVER] got username " + username); + ServerClient serverClient = new ServerClient(username, socket, this); + + Thread t = new Thread(serverClient); + t.start(); + + this.clientThreads.put(username,t); + this.clients.add(serverClient); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + + /** + * Parses the request to the requested Data. + * @param request The request to parse. + * @return Parsed Data. + */ + public Data parseData(String request) { + return this.parser.parse(request); + } + + /** + * Sends a server message to all connected clients. + * @param text message. + */ + public void serverMessage(String text) { for (ServerClient serverClient : clients) { serverClient.writeUTF(text); } } - public void sendToEveryoneExcept(String name, String text) { - for (ServerClient serverClient : clients) { - if (!serverClient.getName().equals(name)) - serverClient.writeUTF(text); - } - } - - public void sendMessage(String name, String text) { + /** + * Sends a message to a specific user. + * @param name user. + * @param text message. + */ + public void personalMessage(String name, String text) { for (ServerClient serverClient : clients) { if (serverClient.getName().equals(name)) { serverClient.writeUTF(text); @@ -78,6 +112,10 @@ public class SessionController extends Controller { } } + /** + * Removes a client from the server. + * @param serverClient The client to remove. + */ public void removeClient(ServerClient serverClient) { this.clients.remove(serverClient); try { @@ -86,34 +124,21 @@ public class SessionController extends Controller { e.printStackTrace(); } this.clientThreads.remove(serverClient.getName()); - this.sendToEveryone(serverClient.getName() + " left!"); + this.serverMessage(serverClient.getName() + " left!"); } - @Override - public void run() { - while (listening) { - listen(); - } + /** + * Gets a list of all connected users. + * @return Set of all connected users. + */ + public Set getUsernames() { + return this.clientThreads.keySet(); } - public void listen() { - try { - this.serverSocket = new ServerSocket(ServerData.port()); - System.out.println("[SERVER] listening on port " + ServerData.port()); - Socket socket = serverSocket.accept(); - this.serverSocket.close(); - - } catch (IOException ex) { - ex.printStackTrace(); - } - } - - //will most likely be removed. - public void parseData(String request) { - Data data = this.parser.parse(request); - } - - public void sendData(Data data) { - + /** + * Shuts down the sessionController. + */ + public void shutdown() { + this.listening = false; } } From 198c1bfdd836f8f1dba0c89a4416feeea253e304 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Mon, 18 May 2020 15:39:09 +0200 Subject: [PATCH 8/9] Fixed Shutdown to truely shut down the sessionController actions and closes the thread. Added testcode to RestartSessionControllerTest to test for no errors. --- .../server/controllers/SessionController.java | 12 ++++++-- .../java/RestartSessionControllerTest.java | 30 +++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 core/src/test/java/RestartSessionControllerTest.java diff --git a/core/src/netwerkprog/game/server/controllers/SessionController.java b/core/src/netwerkprog/game/server/controllers/SessionController.java index f82356c..f82b32d 100644 --- a/core/src/netwerkprog/game/server/controllers/SessionController.java +++ b/core/src/netwerkprog/game/server/controllers/SessionController.java @@ -19,6 +19,7 @@ import java.util.Set; * The sessionController manages any connections from new clients and assigns individual threads to said clients. */ public class SessionController extends Controller { + private ServerSocket serverSocket; private final DataParser parser; private final ArrayList clients = new ArrayList<>(); private final HashMap clientThreads = new HashMap<>(); @@ -34,6 +35,7 @@ public class SessionController extends Controller { */ @Override public void run() { + this.listening = true; while (listening) { listen(); } @@ -44,10 +46,10 @@ public class SessionController extends Controller { */ public void listen() { try { - ServerSocket serverSocket = new ServerSocket(ServerData.port()); + this.serverSocket = new ServerSocket(ServerData.port()); System.out.println("[SERVER] listening on port " + ServerData.port()); registerClient(serverSocket.accept()); - serverSocket.close(); + this.serverSocket.close(); } catch (IOException ex) { ex.printStackTrace(); } @@ -140,5 +142,11 @@ public class SessionController extends Controller { */ public void shutdown() { this.listening = false; + try { + serverSocket.close(); + } catch (IOException e) { + e.printStackTrace(); + } + System.out.println("[SERVER] networking shutdown "); } } diff --git a/core/src/test/java/RestartSessionControllerTest.java b/core/src/test/java/RestartSessionControllerTest.java new file mode 100644 index 0000000..efd4ede --- /dev/null +++ b/core/src/test/java/RestartSessionControllerTest.java @@ -0,0 +1,30 @@ +import netwerkprog.game.server.controllers.SessionController; +import org.junit.Test; + +public class RestartSessionControllerTest { + + @Test + public void restartSessionController() { + SessionController sessionController; + Thread sessionThread; + + sessionController = new SessionController(); + sessionThread = new Thread(sessionController); + + sessionThread.start(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + sessionController.shutdown(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.out.println(sessionThread.getState()); + sessionThread = new Thread(sessionController); + sessionThread.start(); + } +} From a20568b427e5f0556f36025146ecdfb29b25ece2 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Mon, 18 May 2020 15:53:14 +0200 Subject: [PATCH 9/9] Restructured Util for better usability Moved MainGame from util to client. Moved server port static from serverData to Data --- core/src/netwerkprog/game/client/Client.java | 21 ++++++++++++------- .../game/{ => client}/MainGame.java | 5 ++--- .../netwerkprog/game/client/game/Game.java | 2 +- .../game/client/game/Graphics.java | 2 +- .../game/client/game/logic/Logic.java | 2 +- .../game/client/game/map/MapRenderer.java | 2 +- .../netwerkprog/game/server/ServerClient.java | 2 +- .../server/controllers/SessionController.java | 11 +++++----- .../netwerkprog/game/server/data/Data.java | 4 ---- .../netwerkprog/game/server/data/Event.java | 4 ---- core/src/netwerkprog/game/util/Faction.java | 4 ---- .../src/netwerkprog/game/util/Renderable.java | 5 ----- .../util/{ => application}/Controller.java | 2 +- .../GameApplicationConfiguration.java | 2 +- .../game/util/{ => application}/Timer.java | 2 +- .../util/{ => application}/Updatable.java | 2 +- .../game/util/{ => data}/Callback.java | 2 +- .../util/{ServerData.java => data/Data.java} | 5 ++--- .../{server => util}/data/DataParser.java | 2 +- .../src/netwerkprog/game/util/data/Event.java | 4 ++++ .../game/util/{ => game}/Ability.java | 2 +- .../game/util/{ => game}/Character.java | 2 +- .../netwerkprog/game/util/game/Faction.java | 4 ++++ .../game/util/{ => graphics}/FrameRate.java | 2 +- .../game/util/graphics/Renderable.java | 7 +++++++ .../game/desktop/DesktopLauncher.java | 4 ++-- 26 files changed, 53 insertions(+), 53 deletions(-) rename core/src/netwerkprog/game/{ => client}/MainGame.java (96%) delete mode 100644 core/src/netwerkprog/game/server/data/Data.java delete mode 100644 core/src/netwerkprog/game/server/data/Event.java delete mode 100644 core/src/netwerkprog/game/util/Faction.java delete mode 100644 core/src/netwerkprog/game/util/Renderable.java rename core/src/netwerkprog/game/util/{ => application}/Controller.java (57%) rename core/src/netwerkprog/game/util/{ => application}/GameApplicationConfiguration.java (98%) rename core/src/netwerkprog/game/util/{ => application}/Timer.java (98%) rename core/src/netwerkprog/game/util/{ => application}/Updatable.java (60%) rename core/src/netwerkprog/game/util/{ => data}/Callback.java (61%) rename core/src/netwerkprog/game/util/{ServerData.java => data/Data.java} (51%) rename core/src/netwerkprog/game/{server => util}/data/DataParser.java (77%) create mode 100644 core/src/netwerkprog/game/util/data/Event.java rename core/src/netwerkprog/game/util/{ => game}/Ability.java (82%) rename core/src/netwerkprog/game/util/{ => game}/Character.java (95%) create mode 100644 core/src/netwerkprog/game/util/game/Faction.java rename core/src/netwerkprog/game/util/{ => graphics}/FrameRate.java (97%) create mode 100644 core/src/netwerkprog/game/util/graphics/Renderable.java diff --git a/core/src/netwerkprog/game/client/Client.java b/core/src/netwerkprog/game/client/Client.java index 058c7b4..907c6fe 100644 --- a/core/src/netwerkprog/game/client/Client.java +++ b/core/src/netwerkprog/game/client/Client.java @@ -1,7 +1,8 @@ package netwerkprog.game.client; -import netwerkprog.game.util.Controller; -import netwerkprog.game.util.ServerData; +import netwerkprog.game.util.application.Controller; +import netwerkprog.game.util.data.Data; +import netwerkprog.game.util.data.DataParser; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -13,13 +14,20 @@ import java.util.Scanner; public class Client extends Controller { private int port; private String hostname; + private DataParser parser; private boolean isConnected = true; public Client(String hostname) { - this.port = ServerData.port(); + this.port = Data.port(); this.hostname = hostname; + this.parser = new DataParser(); + } + + @Override + public void run() { + this.connect(); } public void connect() { @@ -66,15 +74,12 @@ public class Client extends Controller { while (isConnected) { try { received = in.readUTF(); - System.out.println(received); + } catch (IOException e) { System.out.println("exception caught - " + e.getMessage());; } } } - @Override - public void run() { - this.connect(); - } + } diff --git a/core/src/netwerkprog/game/MainGame.java b/core/src/netwerkprog/game/client/MainGame.java similarity index 96% rename from core/src/netwerkprog/game/MainGame.java rename to core/src/netwerkprog/game/client/MainGame.java index 42e7bfd..9319b2a 100644 --- a/core/src/netwerkprog/game/MainGame.java +++ b/core/src/netwerkprog/game/client/MainGame.java @@ -1,4 +1,4 @@ -package netwerkprog.game; +package netwerkprog.game.client; import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Files; @@ -7,8 +7,7 @@ import com.badlogic.gdx.audio.Music; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import netwerkprog.game.client.Client; -import netwerkprog.game.util.FrameRate; +import netwerkprog.game.util.graphics.FrameRate; public class MainGame extends ApplicationAdapter { SpriteBatch batch; diff --git a/core/src/netwerkprog/game/client/game/Game.java b/core/src/netwerkprog/game/client/game/Game.java index 457cabc..ddfdc1d 100644 --- a/core/src/netwerkprog/game/client/game/Game.java +++ b/core/src/netwerkprog/game/client/game/Game.java @@ -1,6 +1,6 @@ package netwerkprog.game.client.game; -import netwerkprog.game.util.Controller; +import netwerkprog.game.util.application.Controller; public class Game extends Controller { diff --git a/core/src/netwerkprog/game/client/game/Graphics.java b/core/src/netwerkprog/game/client/game/Graphics.java index 322f6c6..29747f0 100644 --- a/core/src/netwerkprog/game/client/game/Graphics.java +++ b/core/src/netwerkprog/game/client/game/Graphics.java @@ -1,6 +1,6 @@ package netwerkprog.game.client.game; -import netwerkprog.game.util.Controller; +import netwerkprog.game.util.application.Controller; public class Graphics extends Controller { public Graphics() { diff --git a/core/src/netwerkprog/game/client/game/logic/Logic.java b/core/src/netwerkprog/game/client/game/logic/Logic.java index 98cb033..31d4d1b 100644 --- a/core/src/netwerkprog/game/client/game/logic/Logic.java +++ b/core/src/netwerkprog/game/client/game/logic/Logic.java @@ -1,6 +1,6 @@ package netwerkprog.game.client.game.logic; -import netwerkprog.game.util.Controller; +import netwerkprog.game.util.application.Controller; public class Logic extends Controller { diff --git a/core/src/netwerkprog/game/client/game/map/MapRenderer.java b/core/src/netwerkprog/game/client/game/map/MapRenderer.java index 1bb0e10..9eca1bf 100644 --- a/core/src/netwerkprog/game/client/game/map/MapRenderer.java +++ b/core/src/netwerkprog/game/client/game/map/MapRenderer.java @@ -2,7 +2,7 @@ package netwerkprog.game.client.game.map; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import netwerkprog.game.util.Renderable; +import netwerkprog.game.util.graphics.Renderable; public class MapRenderer implements Renderable { private int tileWidth; diff --git a/core/src/netwerkprog/game/server/ServerClient.java b/core/src/netwerkprog/game/server/ServerClient.java index e1bc642..311d18b 100644 --- a/core/src/netwerkprog/game/server/ServerClient.java +++ b/core/src/netwerkprog/game/server/ServerClient.java @@ -1,7 +1,7 @@ package netwerkprog.game.server; import netwerkprog.game.server.controllers.SessionController; -import netwerkprog.game.server.data.Data; +import netwerkprog.game.util.data.Data; import java.io.DataInputStream; import java.io.DataOutputStream; diff --git a/core/src/netwerkprog/game/server/controllers/SessionController.java b/core/src/netwerkprog/game/server/controllers/SessionController.java index f82b32d..23f35f1 100644 --- a/core/src/netwerkprog/game/server/controllers/SessionController.java +++ b/core/src/netwerkprog/game/server/controllers/SessionController.java @@ -1,10 +1,9 @@ package netwerkprog.game.server.controllers; import netwerkprog.game.server.ServerClient; -import netwerkprog.game.server.data.Data; -import netwerkprog.game.server.data.DataParser; -import netwerkprog.game.util.Controller; -import netwerkprog.game.util.ServerData; +import netwerkprog.game.util.data.Data; +import netwerkprog.game.util.data.DataParser; +import netwerkprog.game.util.application.Controller; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -46,8 +45,8 @@ public class SessionController extends Controller { */ public void listen() { try { - this.serverSocket = new ServerSocket(ServerData.port()); - System.out.println("[SERVER] listening on port " + ServerData.port()); + this.serverSocket = new ServerSocket(Data.port()); + System.out.println("[SERVER] listening on port " + Data.port()); registerClient(serverSocket.accept()); this.serverSocket.close(); } catch (IOException ex) { diff --git a/core/src/netwerkprog/game/server/data/Data.java b/core/src/netwerkprog/game/server/data/Data.java deleted file mode 100644 index eb7d778..0000000 --- a/core/src/netwerkprog/game/server/data/Data.java +++ /dev/null @@ -1,4 +0,0 @@ -package netwerkprog.game.server.data; - -public class Data { -} diff --git a/core/src/netwerkprog/game/server/data/Event.java b/core/src/netwerkprog/game/server/data/Event.java deleted file mode 100644 index 9e67273..0000000 --- a/core/src/netwerkprog/game/server/data/Event.java +++ /dev/null @@ -1,4 +0,0 @@ -package netwerkprog.game.server.data; - -public class Event { -} diff --git a/core/src/netwerkprog/game/util/Faction.java b/core/src/netwerkprog/game/util/Faction.java deleted file mode 100644 index 609f778..0000000 --- a/core/src/netwerkprog/game/util/Faction.java +++ /dev/null @@ -1,4 +0,0 @@ -package netwerkprog.game.util; - -public enum Faction { -} diff --git a/core/src/netwerkprog/game/util/Renderable.java b/core/src/netwerkprog/game/util/Renderable.java deleted file mode 100644 index 1730301..0000000 --- a/core/src/netwerkprog/game/util/Renderable.java +++ /dev/null @@ -1,5 +0,0 @@ -package netwerkprog.game.util; - -public interface Renderable extends Updatable { - void render(); -} diff --git a/core/src/netwerkprog/game/util/Controller.java b/core/src/netwerkprog/game/util/application/Controller.java similarity index 57% rename from core/src/netwerkprog/game/util/Controller.java rename to core/src/netwerkprog/game/util/application/Controller.java index b1693fb..fd699e8 100644 --- a/core/src/netwerkprog/game/util/Controller.java +++ b/core/src/netwerkprog/game/util/application/Controller.java @@ -1,4 +1,4 @@ -package netwerkprog.game.util; +package netwerkprog.game.util.application; public abstract class Controller implements Runnable { diff --git a/core/src/netwerkprog/game/util/GameApplicationConfiguration.java b/core/src/netwerkprog/game/util/application/GameApplicationConfiguration.java similarity index 98% rename from core/src/netwerkprog/game/util/GameApplicationConfiguration.java rename to core/src/netwerkprog/game/util/application/GameApplicationConfiguration.java index 639cb52..ffdbdd8 100644 --- a/core/src/netwerkprog/game/util/GameApplicationConfiguration.java +++ b/core/src/netwerkprog/game/util/application/GameApplicationConfiguration.java @@ -1,4 +1,4 @@ -package netwerkprog.game.util; +package netwerkprog.game.util.application; import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; diff --git a/core/src/netwerkprog/game/util/Timer.java b/core/src/netwerkprog/game/util/application/Timer.java similarity index 98% rename from core/src/netwerkprog/game/util/Timer.java rename to core/src/netwerkprog/game/util/application/Timer.java index 5d9198c..11d61fb 100644 --- a/core/src/netwerkprog/game/util/Timer.java +++ b/core/src/netwerkprog/game/util/application/Timer.java @@ -1,4 +1,4 @@ -package netwerkprog.game.util; +package netwerkprog.game.util.application; public class Timer implements Updatable { private double wait; diff --git a/core/src/netwerkprog/game/util/Updatable.java b/core/src/netwerkprog/game/util/application/Updatable.java similarity index 60% rename from core/src/netwerkprog/game/util/Updatable.java rename to core/src/netwerkprog/game/util/application/Updatable.java index 4af9c95..48f9aba 100644 --- a/core/src/netwerkprog/game/util/Updatable.java +++ b/core/src/netwerkprog/game/util/application/Updatable.java @@ -1,4 +1,4 @@ -package netwerkprog.game.util; +package netwerkprog.game.util.application; public interface Updatable { void update(double deltaTime); diff --git a/core/src/netwerkprog/game/util/Callback.java b/core/src/netwerkprog/game/util/data/Callback.java similarity index 61% rename from core/src/netwerkprog/game/util/Callback.java rename to core/src/netwerkprog/game/util/data/Callback.java index 8f8d7c3..a0b2561 100644 --- a/core/src/netwerkprog/game/util/Callback.java +++ b/core/src/netwerkprog/game/util/data/Callback.java @@ -1,4 +1,4 @@ -package netwerkprog.game.util; +package netwerkprog.game.util.data; public interface Callback { void onDataReceived(); diff --git a/core/src/netwerkprog/game/util/ServerData.java b/core/src/netwerkprog/game/util/data/Data.java similarity index 51% rename from core/src/netwerkprog/game/util/ServerData.java rename to core/src/netwerkprog/game/util/data/Data.java index 5d9582a..2bdcce4 100644 --- a/core/src/netwerkprog/game/util/ServerData.java +++ b/core/src/netwerkprog/game/util/data/Data.java @@ -1,7 +1,6 @@ -package netwerkprog.game.util; - -public class ServerData { +package netwerkprog.game.util.data; +public class Data { public static int port() { return 8000; } diff --git a/core/src/netwerkprog/game/server/data/DataParser.java b/core/src/netwerkprog/game/util/data/DataParser.java similarity index 77% rename from core/src/netwerkprog/game/server/data/DataParser.java rename to core/src/netwerkprog/game/util/data/DataParser.java index 4212272..938e4a6 100644 --- a/core/src/netwerkprog/game/server/data/DataParser.java +++ b/core/src/netwerkprog/game/util/data/DataParser.java @@ -1,4 +1,4 @@ -package netwerkprog.game.server.data; +package netwerkprog.game.util.data; public class DataParser { public DataParser() { diff --git a/core/src/netwerkprog/game/util/data/Event.java b/core/src/netwerkprog/game/util/data/Event.java new file mode 100644 index 0000000..9ff7808 --- /dev/null +++ b/core/src/netwerkprog/game/util/data/Event.java @@ -0,0 +1,4 @@ +package netwerkprog.game.util.data; + +public class Event { +} diff --git a/core/src/netwerkprog/game/util/Ability.java b/core/src/netwerkprog/game/util/game/Ability.java similarity index 82% rename from core/src/netwerkprog/game/util/Ability.java rename to core/src/netwerkprog/game/util/game/Ability.java index 4a0e61d..8218b2d 100644 --- a/core/src/netwerkprog/game/util/Ability.java +++ b/core/src/netwerkprog/game/util/game/Ability.java @@ -1,4 +1,4 @@ -package netwerkprog.game.util; +package netwerkprog.game.util.game; public abstract class Ability { protected String name; diff --git a/core/src/netwerkprog/game/util/Character.java b/core/src/netwerkprog/game/util/game/Character.java similarity index 95% rename from core/src/netwerkprog/game/util/Character.java rename to core/src/netwerkprog/game/util/game/Character.java index 7be7734..21bc8bd 100644 --- a/core/src/netwerkprog/game/util/Character.java +++ b/core/src/netwerkprog/game/util/game/Character.java @@ -1,4 +1,4 @@ -package netwerkprog.game.util; +package netwerkprog.game.util.game; import java.util.Arrays; import java.util.HashSet; diff --git a/core/src/netwerkprog/game/util/game/Faction.java b/core/src/netwerkprog/game/util/game/Faction.java new file mode 100644 index 0000000..dd347f5 --- /dev/null +++ b/core/src/netwerkprog/game/util/game/Faction.java @@ -0,0 +1,4 @@ +package netwerkprog.game.util.game; + +public enum Faction { +} diff --git a/core/src/netwerkprog/game/util/FrameRate.java b/core/src/netwerkprog/game/util/graphics/FrameRate.java similarity index 97% rename from core/src/netwerkprog/game/util/FrameRate.java rename to core/src/netwerkprog/game/util/graphics/FrameRate.java index 45ddb4e..fdf3e18 100644 --- a/core/src/netwerkprog/game/util/FrameRate.java +++ b/core/src/netwerkprog/game/util/graphics/FrameRate.java @@ -1,4 +1,4 @@ -package netwerkprog.game.util; +package netwerkprog.game.util.graphics; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.OrthographicCamera; diff --git a/core/src/netwerkprog/game/util/graphics/Renderable.java b/core/src/netwerkprog/game/util/graphics/Renderable.java new file mode 100644 index 0000000..d4d0605 --- /dev/null +++ b/core/src/netwerkprog/game/util/graphics/Renderable.java @@ -0,0 +1,7 @@ +package netwerkprog.game.util.graphics; + +import netwerkprog.game.util.application.Updatable; + +public interface Renderable extends Updatable { + void render(); +} diff --git a/desktop/src/netwerkprog/game/desktop/DesktopLauncher.java b/desktop/src/netwerkprog/game/desktop/DesktopLauncher.java index 3ad936d..3406951 100644 --- a/desktop/src/netwerkprog/game/desktop/DesktopLauncher.java +++ b/desktop/src/netwerkprog/game/desktop/DesktopLauncher.java @@ -1,8 +1,8 @@ package netwerkprog.game.desktop; import com.badlogic.gdx.backends.lwjgl.LwjglApplication; -import netwerkprog.game.MainGame; -import netwerkprog.game.util.GameApplicationConfiguration; +import netwerkprog.game.client.MainGame; +import netwerkprog.game.util.application.GameApplicationConfiguration; public class DesktopLauncher { public static void main (String[] arg) {