diff --git a/WordleServer.java b/WordleServer.java index c9e6a9a..20ffa92 100644 --- a/WordleServer.java +++ b/WordleServer.java @@ -70,7 +70,7 @@ public class WordleServer extends Server { } else if (m.equalsIgnoreCase("PASS") && !u.loggedIn()) { m = pMessage.substring(5, pMessage.length()); u.setPassword(m); - if (u.getPassword() != null && u.getUsername() != null) { + if (u.loggedIn()) { if (query.checkLogin(u.getUsername(), u.getPassword())) { send(pClientIP, pClientPort, "+OK welcome"); query.pullStats(u); @@ -79,6 +79,10 @@ public class WordleServer extends Server { u.setUsername(""); send(pClientIP, pClientPort, "-ERR login not valid"); } + } else { + u.setPassword(""); + u.setUsername(""); + send(pClientIP, pClientPort, "-ERR login not valid"); } } else if (m.equalsIgnoreCase("WOTD")) { if (!isToday(u.getLastDayWOTDPlayed())) { @@ -94,17 +98,21 @@ public class WordleServer extends Server { send(pClientIP, pClientPort, "-ERR game finished"); } } else if (m.equalsIgnoreCase("PLAY")) { - if (isToday(u.getLastDayWOTDPlayed())) { - if (u.getGame().getGameStatus() != 1) { - u.getGame().startGame(query.getWord(), 0); - u.setState(2); - send(pClientIP, pClientPort, "+OK Game ready"); - } else if (u.getGame().getIsWOTD() == 0) { - u.setState(2); - send(pClientIP, pClientPort, "+OK Game continues"); + if (u.loggedIn()) { + if (isToday(u.getLastDayWOTDPlayed())) { + if (u.getGame().getGameStatus() != 1) { + u.getGame().startGame(query.getWord(), 0); + u.setState(2); + send(pClientIP, pClientPort, "+OK Game ready"); + } else if (u.getGame().getIsWOTD() == 0) { + u.setState(2); + send(pClientIP, pClientPort, "+OK Game continues"); + } + } else { + send(pClientIP, pClientPort, "-ERR wotd not finished"); } } else { - send(pClientIP, pClientPort, "-ERR wotd not finished"); + send(pClientIP, pClientPort, "-ERR Not logged in"); } } else { send(pClientIP, pClientPort, "-ERR Command not valid in this state"); @@ -192,18 +200,22 @@ public class WordleServer extends Server { send(pClientIP, pClientPort, "won in 4 turn: " + u.getWonInTurnIndex(3)); send(pClientIP, pClientPort, "won in 5 turn: " + u.getWonInTurnIndex(4)); send(pClientIP, pClientPort, "won in 6 turn: " + u.getWonInTurnIndex(5)); - } else if (m.equalsIgnoreCase("PLAY")) { - if (isToday(u.getLastDayWOTDPlayed())) { - if (u.getGame().getGameStatus() != 1) { - u.getGame().startGame(query.getWord(), 0); - u.setState(2); - send(pClientIP, pClientPort, "+OK Game ready"); - } else if (u.getGame().getIsWOTD() == 0) { - u.setState(2); - send(pClientIP, pClientPort, "+OK Game continues"); + } else if (m.equalsIgnoreCase("PLAY")) { + if (u.loggedIn()) { + if (isToday(u.getLastDayWOTDPlayed())) { + if (u.getGame().getGameStatus() != 1) { + u.getGame().startGame(query.getWord(), 0); + u.setState(2); + send(pClientIP, pClientPort, "+OK Game ready"); + } else if (u.getGame().getIsWOTD() == 0) { + u.setState(2); + send(pClientIP, pClientPort, "+OK Game continues"); + } + } else { + send(pClientIP, pClientPort, "-ERR wotd not finished"); } } else { - send(pClientIP, pClientPort, "-ERR wotd not finished"); + send(pClientIP, pClientPort, "-ERR not logged in"); } } else { send(pClientIP, pClientPort, "-ERR Command not valid in this state");