From 3fc4f6dfca725e58cbda1debebb968d15a9d10c3 Mon Sep 17 00:00:00 2001 From: maxlm128 Date: Sat, 12 Mar 2022 19:51:30 +0100 Subject: [PATCH] =?UTF-8?q?An=20den=20if-Bl=C3=B6cken=20f=C3=BCr=20die=20A?= =?UTF-8?q?bfragen=20gearbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- User.java | 2 +- WordleServer.java | 44 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/User.java b/User.java index bffece4..9ac024f 100644 --- a/User.java +++ b/User.java @@ -1,7 +1,7 @@ public class User { private String connectionID; private String username; - String password; + private String password; private int timesPlayed; private int winPercentage; private int currentStreak; diff --git a/WordleServer.java b/WordleServer.java index 41560b8..b4b12c2 100644 --- a/WordleServer.java +++ b/WordleServer.java @@ -1,3 +1,4 @@ +import java.time.Instant; import java.util.HashMap; /** @@ -53,10 +54,10 @@ public class WordleServer extends Server { close(); } + String m = pMessage.substring(0, 3); switch (u.getState()) { case 1: // Anmeldephase - String m = pMessage.substring(0, 3); if (m.equalsIgnoreCase("USER")) { m = pMessage.substring(6, pMessage.length() - 1); u.setUsername(m); @@ -72,18 +73,57 @@ public class WordleServer extends Server { send(pClientIP, pClientPort, "+ERR login not valid"); } } + } else if(m.equalsIgnoreCase("WOTD")) { + + } else if(m.equalsIgnoreCase("PLAY")) { + } else { send(pClientIP, pClientPort, "-ERR Command not valid in this state"); } break; case 2: // Spielphase + if(m.equalsIgnoreCase("SEND")) { + + } else if(m.equalsIgnoreCase("INFO")) { + int n = Integer.parseInt("0" + pMessage.substring(4,pMessage.length()).replaceAll(" ", "")); + if(n != 0) { + + } else { + + } + } else if(m.equalsIgnoreCase("EXIT")) { + + } else { + send(pClientIP, pClientPort, "-ERR Command not valid in this state"); + } break; case 3: // Zwischenphase(Angemeldet) + if(m.equalsIgnoreCase("STAT")) { + send(pClientIP, pClientPort, "+OK" + + '\n' + "times played: " + u.getTimesPlayed() + + '\n' + "win percentage: " + u.getWinPercentage() + + '\n' + "current streak: " + u.getCurrentStreak() + + '\n' + "max streak: " + u.getMaxStreak() + + '\n' + "won in 1 turn: " + u.getWonInTurnIndex(1) + + '\n' + "won in 2 turn: " + u.getWonInTurnIndex(2) + + '\n' + "won in 3 turn: " + u.getWonInTurnIndex(3) + + '\n' + "won in 4 turn: " + u.getWonInTurnIndex(4) + + '\n' + "won in 5 turn: " + u.getWonInTurnIndex(5) + + '\n' + "won in 6 turn: " + u.getWonInTurnIndex(6) + + '\n' + "."); + } else if(m.equalsIgnoreCase("PLAY")) { + + } else { + send(pClientIP, pClientPort, "-ERR Command not valid in this state"); + } break; } } - + + public boolean isToday(int pDay) { + return pDay == (int) (86400000.0 / Instant.now().toEpochMilli()); + } }