From c4bf054de67adfd0c43320bd928c0399c13798ef Mon Sep 17 00:00:00 2001 From: Artem Didytschuk Date: Thu, 3 Mar 2022 10:32:34 +0100 Subject: [PATCH] Hashmap implementiert --- .gitignore | 1 + WordleServer.java | 29 ++++++++++++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 7f4282f..fd2ef75 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ engine-alpha.log /git.iml /out/ /.idea/.gitignore +/.idea/libraries/sqlite_jdbc_3_36_0_3.xml diff --git a/WordleServer.java b/WordleServer.java index 1d44b67..34c7c02 100644 --- a/WordleServer.java +++ b/WordleServer.java @@ -1,3 +1,4 @@ +import java.util.HashMap; /** * Server für das WORDLE Spiel. @@ -13,7 +14,7 @@ public class WordleServer extends Server { private DatabaseConnector db; - private List userList; + private HashMapusers; private Query query; @@ -25,15 +26,16 @@ public class WordleServer extends Server { super(pPort); query = new Query(); db = new DatabaseConnector("", 0, "wordle.db", "", ""); - userList = new List(); + users = new HashMap<>(); } @Override public void processNewConnection( String pClientIP, int pClientPort ) { String connectionID= pClientIP +":"+ Integer.toString(pClientPort); User u = new User(connectionID); - userList.append(u); + users.put(connectionID,u); send(pClientIP,pClientPort,"+OK Verbindung zum Wordle Server erfolgreich aufgebaut"); + u.setState(1); } @@ -45,11 +47,28 @@ public class WordleServer extends Server { @Override public void processMessage( String pClientIP, int pClientPort, String pMessage ) { - if(pMessage.equals("QUIT")){ - send(pClientIP,pClientPort,"+OK Bye"); + String conectionID = pClientIP + ":" + Integer.toString(pClientPort); + User u = users.get(conectionID); + + if(pMessage.equals("QUIT")) { + send(pClientIP, pClientPort, "+OK Bye"); + close(); } else { send(pClientIP,pClientPort,"-ERR Command not valid in this state"); } + switch(u.getState()){ + case 1: + //Anmeldephase + break; + case 2: + //Spielphase + break; + case 3: + //Zwischenphase(Angemeldet) + break; + + } } + }