From 2263483462e4f0efb324055b48aca1e58885852a Mon Sep 17 00:00:00 2001 From: Seraina Date: Sun, 27 Mar 2022 13:14:42 +0200 Subject: [PATCH] Added a Class and Method that can reformat the terminal commands into commands that the parser can read --- .../multiplayer/server/MessageFormatter.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/MessageFormatter.java diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/MessageFormatter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/MessageFormatter.java new file mode 100644 index 0000000..18c2494 --- /dev/null +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/MessageFormatter.java @@ -0,0 +1,42 @@ +package ch.unibas.dmi.dbis.cs108.multiplayer.server; + +import java.io.StringBufferInputStream; + +public class MessageFormatter { + + /** + * Takes a given Message and reformats it to where the JServerProtocolParser.parse() method can + * handle it. May need to be redesigned one the games uses a GUI + * + * @param msg the Messaged to be reformatted + * @return the reformatted message + */ + + public static String formatMsg(String msg) { + String header = ""; //header is first two characters + StringBuilder stringBuilder = new StringBuilder(); + String s; // just a friendly helper to save message in + try { + header = msg.substring(0, 2); + } catch (IndexOutOfBoundsException e) { + e.printStackTrace(); + } + switch (header) { + case "/c": + stringBuilder.append("CHATA"); + s = msg.substring(2); + break; + case "/q": + stringBuilder.append("QUITS"); + s = msg.substring(2); + break; + default: + s = msg; + } + stringBuilder.append(s); + return stringBuilder.toString(); + + } + + +}