From 86119bcb6a160ba6844667d06e2696fb1a7c1b3d Mon Sep 17 00:00:00 2001 From: Tim Tersch Date: Mon, 14 Feb 2022 09:09:37 +0100 Subject: [PATCH 1/4] Update umlet.uxf --- umlet.uxf | 145 +++++++++++++++++------------------------------------- 1 file changed, 44 insertions(+), 101 deletions(-) diff --git a/umlet.uxf b/umlet.uxf index 1556d93..ccd5457 100644 --- a/umlet.uxf +++ b/umlet.uxf @@ -1,13 +1,13 @@ - 12 + 8 UMLClass - 636 - 144 - 120 - 36 + 936 + 208 + 80 + 24 Server @@ -15,10 +15,10 @@ UMLClass - 636 - 300 - 120 - 36 + 936 + 312 + 80 + 24 WordleServer @@ -26,10 +26,10 @@ Relation - 684 - 168 - 36 - 156 + 968 + 224 + 24 + 104 lt=<<- 10.0;10.0;10.0;110.0 @@ -37,10 +37,10 @@ UMLClass - 0 - 420 - 348 - 468 + 512 + 392 + 232 + 312 User -- @@ -72,10 +72,10 @@ UMLClass - 180 - 276 - 168 - 36 + 632 + 296 + 112 + 24 DatabaseConnector @@ -83,10 +83,10 @@ Relation - 684 - 324 - 144 - 120 + 968 + 328 + 96 + 80 lt=<. -wordleServer @@ -95,13 +95,16 @@ UMLClass - 516 - 420 - 360 - 132 + 856 + 392 + 240 + 88 Game -- +-ip: String +-port: int + -wordle: String -words: String[] -wordCount: int @@ -113,24 +116,10 @@ UMLClass - 1020 - 420 - 288 - 84 - - GUI --- -+setLetter(char letter): void -+setLetterColor(byte color): void - - - - UMLClass - - 108 - 156 - 120 - 36 + 584 + 216 + 80 + 24 QueryResult @@ -138,10 +127,10 @@ Relation - 336 - 408 - 204 - 48 + 736 + 384 + 136 + 32 lt=<. -user @@ -150,59 +139,13 @@ Relation - 864 - 408 - 180 - 48 - - lt=<. --gui - 130.0;20.0;10.0;20.0 - - - Relation - - 336 - 276 - 264 - 168 + 736 + 296 + 176 + 112 lt=<. -databaseConnector 10.0;20.0;200.0;20.0;200.0;120.0 - - UMLClass - - 1020 - 0 - 288 - 300 - - Letter --- -WHITE: byte = -1 -GRAY: byte = 0 -YELLOW: byte = 1 -GREEN: byte = 2 - --letter: char --color: byte --- -+setColor(byte color): void -+getColor(): byte - - - - Relation - - 1152 - 288 - 156 - 156 - - lt=<. --letters: Letter[][] - 10.0;10.0;10.0;110.0 - From 031f73abfa501afc9207d018fe85ef10ea58d851 Mon Sep 17 00:00:00 2001 From: Tim Tersch Date: Mon, 14 Feb 2022 09:15:13 +0100 Subject: [PATCH 2/4] Game instance for every connection --- src/Game.java | 23 ++++++++++++++++++++++- src/WordleServer.java | 16 +++++++++++++--- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/Game.java b/src/Game.java index fda0384..a388634 100644 --- a/src/Game.java +++ b/src/Game.java @@ -2,7 +2,11 @@ public class Game { // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen WordleServer wordleServer; User user; - DatabaseConnector databaseConnector;// Datenbankverbindung aufstellen + static DatabaseConnector databaseConnector;// Datenbankverbindung aufstellen + + private String ip; + private int port; + private String wordle; private String[] words; private int count; @@ -11,10 +15,27 @@ public class Game { this.wordleServer = wordleServer; + user = new User(); } public void processMessage(String msg) { System.out.println(msg); } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } } diff --git a/src/WordleServer.java b/src/WordleServer.java index bac9254..b846c97 100644 --- a/src/WordleServer.java +++ b/src/WordleServer.java @@ -34,13 +34,23 @@ public class WordleServer extends Server { @Override public void processClosingConnection( String pClientIP, int pClientPort ) { - System.out.println("Closed connection: " + pClientPort); + find(pClientIP, pClientPort); + games.remove(); } @Override public void processMessage( String pClientIP, int pClientPort, String pMessage ) { - games.toFirst(); - games.getContent().processMessage(pMessage); + find(pClientIP, pClientPort).processMessage(pMessage); } + private Game find(String ip, int port) { + games.toFirst(); + while (games.hasAccess()) { + Game g = games.getContent(); + if (g.getIp().equals(ip) && g.getPort() == port) { + return g; + } + } + return null; + } } From e3e899908f0b1cdef4a5e9d191f0c3ce23e65b20 Mon Sep 17 00:00:00 2001 From: Tim Tersch Date: Mon, 14 Feb 2022 09:23:31 +0100 Subject: [PATCH 3/4] set ip and port --- src/Game.java | 5 +++-- src/WordleServer.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Game.java b/src/Game.java index a388634..a0d45fb 100644 --- a/src/Game.java +++ b/src/Game.java @@ -11,10 +11,11 @@ public class Game { private String[] words; private int count; - public Game(WordleServer wordleServer) { + public Game(WordleServer wordleServer, String pClientIP, int pClientPort) { this.wordleServer = wordleServer; - + this.ip = pClientIP; + this.port = pClientPort; user = new User(); } diff --git a/src/WordleServer.java b/src/WordleServer.java index b846c97..3d125bc 100644 --- a/src/WordleServer.java +++ b/src/WordleServer.java @@ -29,7 +29,7 @@ public class WordleServer extends Server { @Override public void processNewConnection( String pClientIP, int pClientPort ) { - games.append(new Game(this)); + games.append(new Game(this, pClientIP, pClientPort)); } @Override From e7a785f968b4fcf283c3d807a6ab2782720984bf Mon Sep 17 00:00:00 2001 From: Tim Tersch Date: Mon, 14 Feb 2022 09:27:40 +0100 Subject: [PATCH 4/4] quit --- src/Game.java | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/Game.java b/src/Game.java index a0d45fb..54f97ae 100644 --- a/src/Game.java +++ b/src/Game.java @@ -10,6 +10,7 @@ public class Game { private String wordle; private String[] words; private int count; + private int phase; public Game(WordleServer wordleServer, String pClientIP, int pClientPort) { @@ -18,10 +19,32 @@ public class Game { this.port = pClientPort; user = new User(); + + send("+OK Hello there"); } public void processMessage(String msg) { - System.out.println(msg); + + if (msg.equals("quit")) { + send("+OK bye"); + wordleServer.closeConnection(ip, port); + } + + switch (phase) { + case 0: + + break; + case 1: + + break; + case 2: + + break; + } + } + + private void send(String msg) { + wordleServer.send(ip, port, msg); } public String getIp() {