diff --git a/src/Game.java b/src/Game.java index 573cd34..c9771ed 100644 --- a/src/Game.java +++ b/src/Game.java @@ -3,33 +3,43 @@ public class Game { WordleServer wordleServer; User user; static DatabaseConnector databaseConnector;// Datenbankverbindung aufstellen - + private String ip; private int port; - + private String wordle; private String[] words; private int count; private int phase; - - public Game(WordleServer wordleServer, String pClientIP, int pClientPort) { + + static { + + databaseConnector = new DatabaseConnector(null, 0, "wordle.db", null, null); + System.err.println(databaseConnector.getErrorMessage()); + + } + + public Game(WordleServer wordleServer, String pClientIP, int pClientPort) { + this.wordleServer = wordleServer; this.ip = pClientIP; this.port = pClientPort; - + send("+OK Hello there"); + } - + public void processMessage(String msg) { - + msg = msg.toLowerCase().trim(); - + if (msg.equals("quit")) { send("+OK bye"); wordleServer.closeConnection(ip, port); + System.exit(0); } - + switch (phase) { case 0: loginPhase(msg); @@ -42,41 +52,66 @@ public class Game { break; } } - + private void loginPhase(String msg) { - if (msg.startsWith("user")) { - - } else if (msg.startsWith("pass")) { - - } else if (msg.startsWith("wotd")) { - - } else if (msg.startsWith("play")) { + + if (msg.length() <= 5) { + sendUniversalError(); + return; + } + + String args = msg.substring(5); + if (msg.startsWith("user ")) { + + databaseConnector.executeStatement("SELECT * FROM User WHERE name = '" + args + "'"); + System.err.println(databaseConnector.getErrorMessage()); + QueryResult result = databaseConnector.getCurrentQueryResult(); + if (result != null) { + String name = result.getData()[0][0]; + System.out.println(name); + user = new User(name); + } else { + send("-ERR User not found."); + } + + } else if (msg.startsWith("pass ")) { + + } else if (msg.startsWith("wotd ")) { + + } else if (msg.startsWith("play ")) { + + } else { + sendUniversalError(); } } - + private void gamePhase(String msg) { if (msg.startsWith("send")) { - + } else if (msg.startsWith("info")) { - + } else if (msg.startsWith("exit")) { - + } } - + private void endPhase(String msg) { if (msg.startsWith("stat")) { - + } else if (msg.startsWith("play")) { - + } } - + private void send(String msg) { wordleServer.send(ip, port, msg); } + private void sendUniversalError() { + send("-ERR command not valid in this state"); + } + public String getIp() { return ip; }