diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Client.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Client.java index 257727888dd87f2b73cbc1a873e6a61e95d494df..31877962f9be80b4143f11be1290c5924cf012ff 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Client.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Client.java @@ -24,7 +24,21 @@ public class Client { String message = String.join(",", Arrays.stream(cords).mapToObj(String::valueOf).toArray(String[]::new)); out.println(message); log.info("Sent coordinates: " + message); - return cords; + String resp = in.readLine(); + return convertStringToArray(resp); + } + + public static int[] convertStringToArray(String inputString) { + // Remove brackets and split by comma + String[] parts = inputString.substring(1, inputString.length() - 1).split(","); + + // Convert each part to integer + int[] result = new int[parts.length]; + for (int i = 0; i < parts.length; i++) { + result[i] = Integer.parseInt(parts[i].trim()); + } + + return result; } diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandler.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandler.java index 4bffdb53fe7a5b5ebe711db5fbb84522b7ebace3..af989ca9929a311dc52af432e20d6bf40f67b5eb 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandler.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandler.java @@ -1,6 +1,7 @@ package de.hdm_stuttgart.battlearena.Model.Multiplayer; import java.io.IOException; +import java.util.Arrays; public class ConnectionHandler { @@ -16,7 +17,8 @@ public class ConnectionHandler { Client client = new Client(); client.startConnection("localhost", 4444); int[] cords = client.sendcords(coordinates); - System.out.println(cords); + System.out.println("Enemy X: " + cords[0]); + System.out.println("Enemy Y: " + cords[1]); //stop the connection: client.stopConnection(); diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Server.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Server.java index 709568662113522a5588d644af0dd5acb457a54c..cc5b4cdd23e009d6d1b65847bd568bd9436dae7a 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Server.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Server.java @@ -5,6 +5,7 @@ import org.apache.logging.log4j.Logger; import java.net.*; import java.io.*; +import java.util.Arrays; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -21,6 +22,7 @@ public class Server { private static int enemyy; private static int[] cords; + private static int[] enemycords = {7,7}; public static void main(String[] args) throws IOException { Server server = new Server(); @@ -28,14 +30,14 @@ public class Server { server.start("localhost",4444); } - public void start(String lolcalhost, int port) throws IOException { + public void start(String localhost, int port) throws IOException { serverSocket = new ServerSocket(port); log.info("server started!"); new ServerHandler(serverSocket.accept()).start(); } private static class ServerHandler extends Thread { - private Socket clientSocket; + private final Socket clientSocket; private PrintWriter out; private BufferedReader in; @@ -53,7 +55,7 @@ public class Server { String inputLine = localIn.readLine(); - log.info(inputLine); + // log.info(inputLine); if (inputLine != null) { // Assuming that the input line is a comma-separated list of integers @@ -62,9 +64,15 @@ public class Server { for (int i = 0; i < coordinates.length; i++) { cords[i] = Integer.parseInt(coordinates[i]); } + px = cords[0]; + py = cords[1]; + + localOut.println(Arrays.toString(enemycords)); + localOut.flush(); } - log.info(cords); + log.info("Player X: " + px + " Player Y: " + py); + //check if server was shut down: if (!isServerRunning) {