diff --git a/.idea/artifacts/Client_jar.xml b/.idea/artifacts/Client_jar.xml
new file mode 100644
index 0000000..9b55114
--- /dev/null
+++ b/.idea/artifacts/Client_jar.xml
@@ -0,0 +1,8 @@
+
+
+ $PROJECT_DIR$/out/artifacts/Client_jar
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
index d39f435..062c378 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,6 +3,8 @@
+
+
\ No newline at end of file
diff --git a/Client/Client.iml b/Client/Client.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/Client/Client.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/client/games/Board.java b/Client/src/games/Board.java
similarity index 99%
rename from src/client/games/Board.java
rename to Client/src/games/Board.java
index 3d7de49..da92e49 100644
--- a/src/client/games/Board.java
+++ b/Client/src/games/Board.java
@@ -1,4 +1,4 @@
-package client.games;
+package games;
import javax.swing.*;
import java.awt.*;
diff --git a/src/client/games/Executor.java b/Client/src/games/Executor.java
similarity index 96%
rename from src/client/games/Executor.java
rename to Client/src/games/Executor.java
index 0ae9b4c..00d5d07 100644
--- a/src/client/games/Executor.java
+++ b/Client/src/games/Executor.java
@@ -1,4 +1,4 @@
-package client.games;
+package games;
import javax.swing.*;
diff --git a/src/client/games/Game.java b/Client/src/games/Game.java
similarity index 99%
rename from src/client/games/Game.java
rename to Client/src/games/Game.java
index bd6bc30..b3a7a07 100644
--- a/src/client/games/Game.java
+++ b/Client/src/games/Game.java
@@ -1,4 +1,4 @@
-package client.games;
+package games;
import javax.swing.*;
diff --git a/src/client/games/Painter.java b/Client/src/games/Painter.java
similarity index 98%
rename from src/client/games/Painter.java
rename to Client/src/games/Painter.java
index cb7b39f..109bb2d 100644
--- a/src/client/games/Painter.java
+++ b/Client/src/games/Painter.java
@@ -1,4 +1,4 @@
-package client.games;
+package games;
import java.awt.*;
diff --git a/Client/src/logging/ClientLogger.java b/Client/src/logging/ClientLogger.java
new file mode 100644
index 0000000..96269e3
--- /dev/null
+++ b/Client/src/logging/ClientLogger.java
@@ -0,0 +1,47 @@
+package logging;
+
+import java.sql.Timestamp;
+
+public class ClientLogger {
+
+ //Text colors
+ private static final String ANSI_RESET = "\u001B[0m";
+ private static final String ANSI_BLACK = "\u001B[30m";
+ private static final String ANSI_RED = "\u001B[31m";
+ private static final String ANSI_GREEN = "\u001B[32m";
+ private static final String ANSI_YELLOW = "\u001B[33m";
+ private static final String ANSI_BLUE = "\u001B[34m";
+ private static final String ANSI_PURPLE = "\u001B[35m";
+ private static final String ANSI_CYAN = "\u001B[36m";
+ private static final String ANSI_WHITE = "\u001B[37m";
+ private static final String ANSI_BRIGHT_WHITE = "\u001b[37;1m";
+
+ public void printLog(String message, String name, boolean success, LogType logType){
+ switch (logType){
+ case Log:
+ if (success){
+ System.out.printf( ANSI_BLUE + "(%s) " + ANSI_CYAN + "[%s] " + ANSI_GREEN + "%s%n" + ANSI_RESET,
+ new Timestamp(System.currentTimeMillis()), name, message);
+ } else {
+ System.out.printf(ANSI_BLUE + "(%s) " + ANSI_CYAN + "[%s] " + ANSI_RED + "%s%n" + ANSI_RESET,
+ new Timestamp(System.currentTimeMillis()), name, message);
+ }
+ break;
+
+ case Error:
+ System.out.printf(ANSI_PURPLE + "(%s) [%s] %s%n"+ ANSI_RESET, new Timestamp(System.currentTimeMillis()), name, message);
+ break;
+
+ case Message:
+ System.out.printf(ANSI_WHITE + " (%s) [%s] %s%n" +ANSI_RESET, new Timestamp(System.currentTimeMillis()), name, message);
+ break;
+
+ default:
+ System.err.println("NO VALID LOGTYPE GIVEN");;
+ }
+ }
+
+ public void printLog(String message, boolean success, LogType logType){
+ this.printLog(message, "server", success, logType);
+ }
+}
diff --git a/src/server/logging/LogType.java b/Client/src/logging/LogType.java
similarity index 70%
rename from src/server/logging/LogType.java
rename to Client/src/logging/LogType.java
index 29087d1..1b79885 100644
--- a/src/server/logging/LogType.java
+++ b/Client/src/logging/LogType.java
@@ -1,4 +1,4 @@
-package server.logging;
+package logging;
public enum LogType {
Log,
diff --git a/src/client/networking/Client.java b/Client/src/networking/Client.java
similarity index 76%
rename from src/client/networking/Client.java
rename to Client/src/networking/Client.java
index e4a2fa8..b987212 100644
--- a/src/client/networking/Client.java
+++ b/Client/src/networking/Client.java
@@ -1,4 +1,7 @@
-package client.networking;
+package networking;
+
+import logging.ClientLogger;
+import logging.LogType;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -10,7 +13,9 @@ public class Client {
private DataOutputStream out;
private DataInputStream in;
private static Scanner scanner;
+ private ClientLogger clientLogger;
private static String name;
+ private String serverName;
private boolean success;
public static final String ANSI_RESET = "\u001B[0m";
@@ -23,9 +28,10 @@ public class Client {
Socket serverSocket = new Socket(ip, port);
out = new DataOutputStream(serverSocket.getOutputStream());
in = new DataInputStream(serverSocket.getInputStream());
+ clientLogger = new ClientLogger();
success = true;
this.name = name;
- System.out.println(name);
+ clientLogger.printLog(String.format("Client with the name %s successfully initialized", name), success, LogType.Log);
} catch (IOException e) {
e.printStackTrace();
}
@@ -33,14 +39,18 @@ public class Client {
public void handshake() {
try {
- out.writeInt(165313125);
+ out.writeInt(15315);
out.flush();
success = in.readInt() == 200;
if (success){
out.writeUTF(name);
- System.out.printf(ANSI_CYAN + "You successfully connected to %s%n"+ANSI_RESET, in.readUTF());
+ serverName = in.readUTF();
+ System.out.println(serverName);
+ clientLogger.printLog("You successfully connected to me", serverName, success, LogType.Log);
+ } else {
+ clientLogger.printLog("Connection failed try again", success, LogType.Log);
+ System.exit(1);
}
- System.out.println(success);
} catch (IOException e) {
e.printStackTrace();
}
diff --git a/Server/Server.iml b/Server/Server.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/Server/Server.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Server/src/logging/LogType.java b/Server/src/logging/LogType.java
new file mode 100644
index 0000000..1b79885
--- /dev/null
+++ b/Server/src/logging/LogType.java
@@ -0,0 +1,7 @@
+package logging;
+
+public enum LogType {
+ Log,
+ Message,
+ Error
+}
diff --git a/src/server/logging/ServerLogger.java b/Server/src/logging/ServerLogger.java
similarity index 98%
rename from src/server/logging/ServerLogger.java
rename to Server/src/logging/ServerLogger.java
index 0261bd6..f4a3646 100644
--- a/src/server/logging/ServerLogger.java
+++ b/Server/src/logging/ServerLogger.java
@@ -1,4 +1,4 @@
-package server.logging;
+package logging;
import java.sql.Timestamp;
diff --git a/src/server/networking/Server.java b/Server/src/networking/Server.java
similarity index 91%
rename from src/server/networking/Server.java
rename to Server/src/networking/Server.java
index 0bf8178..5f4b2fe 100644
--- a/src/server/networking/Server.java
+++ b/Server/src/networking/Server.java
@@ -1,7 +1,7 @@
-package server.networking;
+package networking;
-import server.logging.LogType;
-import server.logging.ServerLogger;
+import logging.LogType;
+import logging.ServerLogger;
import java.io.*;
import java.net.ServerSocket;
@@ -28,7 +28,7 @@ public class Server {
instreams = new HashMap<>();
scanner = new Scanner(System.in);
logger = new ServerLogger();
- requiredConnections = 2;
+ requiredConnections = 1;
logger.printLog("Server started successfully", LogType.Log);
} catch (IOException e) {
@@ -97,6 +97,11 @@ public class Server {
}
}
}
+ clients.clear();
+ System.out.println("Do you want to keep the server alive and wait for other clients ? [y]/[n]");
+ if (scanner.nextLine().equalsIgnoreCase("y")){
+ this.connectClients();
+ }
}
public static void main(String[] args) {
diff --git a/out/production/ArcadeMachine/META-INF/MANIFEST.MF b/out/production/ArcadeMachine/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..d7e01d2
--- /dev/null
+++ b/out/production/ArcadeMachine/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: client.networking.Client
+