forked from IF-LK-2020/wordle
parent
018ffd987d
commit
556ae98e3b
141
Game.java
141
Game.java
|
@ -1,15 +1,15 @@
|
|||
public class Game {
|
||||
private String word;
|
||||
private String[] guesses;
|
||||
private int guessCount;
|
||||
// 0 wenn es keinen Wert gibt, 1 wenn das letzte Spiel gewonnen wurde und 2 wenn
|
||||
// es verloren wurde
|
||||
private int won;
|
||||
|
||||
// TODO:
|
||||
Game() {
|
||||
word = "";
|
||||
won = 0;
|
||||
guesses = new String[4];
|
||||
guesses = new String[5];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -23,106 +23,131 @@ public class Game {
|
|||
* @return Eine Zahlenfolge mit der Korrektheit des Worts
|
||||
*/
|
||||
public String giveGuess(String g) {
|
||||
StringBuilder guess = new StringBuilder(g);
|
||||
StringBuilder word = new StringBuilder(this.word);
|
||||
String[] guess = transformToArray(g);
|
||||
String[] word = transformToArray(this.word);
|
||||
String s = "";
|
||||
for (int i = 0; i < this.word.length(); i++) {
|
||||
if (guess.charAt(0) == word.charAt(0)) {
|
||||
word.deleteCharAt(0);
|
||||
s += "2";
|
||||
} else {
|
||||
boolean found = false;
|
||||
for (int r = 1; r < word.length(); r++) {
|
||||
if (guess.charAt(0) == word.charAt(r)) {
|
||||
s += "1";
|
||||
found = true;
|
||||
word.deleteCharAt(r);
|
||||
break;
|
||||
if (word.length == 5 && guess.length == 5) {
|
||||
for (int i = 0; i < this.word.length(); i++) {
|
||||
if (guess[i].equalsIgnoreCase(word[i])) {
|
||||
word[i] = null;
|
||||
s += "2";
|
||||
} else {
|
||||
boolean found = false;
|
||||
for (int r = 0; r < word.length; r++) {
|
||||
if (guess[i].equalsIgnoreCase(word[r]) && (guess[r] == null || !guess[r].equals(word[r]))) {
|
||||
s += "1";
|
||||
found = true;
|
||||
word[r] = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
s += "0";
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
s += "0";
|
||||
}
|
||||
guess[i] = null;
|
||||
}
|
||||
guessCount++;
|
||||
storeInArray(g);
|
||||
if (s.contains("22222")) {
|
||||
won = 1;
|
||||
stopGame();
|
||||
} else if (guessCount >= 6) {
|
||||
won = 2;
|
||||
stopGame();
|
||||
}
|
||||
guess.deleteCharAt(0);
|
||||
}
|
||||
if (word.isEmpty()) {
|
||||
won = 1;
|
||||
stopGame();
|
||||
} else if (storeInArray(guess.toString())) {
|
||||
won = 2;
|
||||
stopGame();
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
private String[] transformToArray(String s) {
|
||||
String[] temp = new String[s.length()];
|
||||
for (int i = 0; i < s.length(); i++) {
|
||||
temp[i] = "" + s.charAt(i);
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
|
||||
public String checkGuess(String g) {
|
||||
StringBuilder guess = new StringBuilder(g);
|
||||
StringBuilder word = new StringBuilder(this.word);
|
||||
String[] guess = transformToArray(g);
|
||||
String[] word = transformToArray(this.word);
|
||||
String s = "";
|
||||
for (int i = 0; i < this.word.length(); i++) {
|
||||
if (guess.charAt(0) == word.charAt(0)) {
|
||||
word.deleteCharAt(0);
|
||||
s += "2";
|
||||
} else {
|
||||
boolean found = false;
|
||||
for (int r = 1; r < word.length(); r++) {
|
||||
if (guess.charAt(0) == word.charAt(r)) {
|
||||
s += "1";
|
||||
found = true;
|
||||
word.deleteCharAt(r);
|
||||
break;
|
||||
if (word.length == 5 && guess.length == 5) {
|
||||
for (int i = 0; i < this.word.length(); i++) {
|
||||
if (guess[i].equalsIgnoreCase(word[i])) {
|
||||
word[i] = null;
|
||||
s += "2";
|
||||
} else {
|
||||
boolean found = false;
|
||||
for (int r = 0; r < word.length; r++) {
|
||||
if (guess[i].equalsIgnoreCase(word[r]) && (guess[r] == null || !guess[r].equals(word[r]))) {
|
||||
s += "1";
|
||||
found = true;
|
||||
word[r] = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
s += "0";
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
s += "0";
|
||||
}
|
||||
guess[i] = null;
|
||||
}
|
||||
guess.deleteCharAt(0);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert das Wort in der nächsten freien Stelle im Array und gibt danach
|
||||
* zurück, ob das Array voll ist
|
||||
* zurück, ob das Array voll ist, d.h. das Spiel beendet werden muss
|
||||
*
|
||||
* @param word
|
||||
* @return Boolean
|
||||
*/
|
||||
private boolean storeInArray(String word) {
|
||||
private void storeInArray(String word) {
|
||||
for (int i = 0; i < guesses.length; i++) {
|
||||
if (guesses[i] == null) {
|
||||
guesses[i] = word;
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void startGame(String word) {
|
||||
System.out.println(word);
|
||||
guessCount = 0;
|
||||
this.word = word;
|
||||
}
|
||||
|
||||
public boolean isGameRunning() {
|
||||
return !word.equals("") || !word.equals(null);
|
||||
}
|
||||
|
||||
public void stopGame() {
|
||||
word = "";
|
||||
guesses = new String[guesses.length - 1];
|
||||
guesses = new String[guesses.length];
|
||||
}
|
||||
|
||||
public String[] getGuesses() {
|
||||
return guesses;
|
||||
}
|
||||
|
||||
public void setGuesses(String[] guesses) {
|
||||
this.guesses = guesses;
|
||||
public String getGuessIndex(int index) {
|
||||
return guesses[index];
|
||||
}
|
||||
|
||||
public void setGuessesIndex(String guess, int index) {
|
||||
guesses[index] = guess;
|
||||
}
|
||||
|
||||
public void setWord(String word) {
|
||||
this.word = word;
|
||||
if (word != null) {
|
||||
this.word = word;
|
||||
}
|
||||
}
|
||||
|
||||
public String getWord() {
|
||||
return word;
|
||||
}
|
||||
|
||||
public int getGuessesCount() {
|
||||
return guessCount;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
96
Query.java
96
Query.java
|
@ -1,3 +1,7 @@
|
|||
import java.time.LocalDate;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.Random;
|
||||
|
||||
public class Query {
|
||||
DatabaseConnector db;
|
||||
|
||||
|
@ -12,24 +16,36 @@ public class Query {
|
|||
*/
|
||||
public void pullStats(User user) {
|
||||
String[][] r;
|
||||
db.executeStatement("SELECT * FROM user WHERE user LIKE '"+ user.getUsername() + "'");
|
||||
db.executeStatement("SELECT * FROM Stats " + "INNER JOIN won_on_n " + "ON Stats.ID = won_on_n.Stats_ID "
|
||||
+ "INNER JOIN last_Game " + "ON Stats.ID = last_Game.Stats_ID " + "WHERE user_username = '"
|
||||
+ user.getUsername() + "'");
|
||||
r = db.getCurrentQueryResult().getData();
|
||||
user.setCurrentStreak(Integer.parseInt(r[1][0]));
|
||||
user.setMaxStreak(Integer.parseInt(r[2][0]));
|
||||
user.setWins(Integer.parseInt(r[3][0]));
|
||||
user.setTimesPlayed(Integer.parseInt(r[4][0]));
|
||||
if (r != null && r.length != 0 && r[0].length == 21) {
|
||||
user.setCurrentStreak(Integer.parseInt(r[0][2]));
|
||||
user.setMaxStreak(Integer.parseInt(r[0][3]));
|
||||
user.setWinPercentage(Float.parseFloat(r[0][4]));
|
||||
user.setTimesPlayed(Integer.parseInt(r[0][5]));
|
||||
user.setLastDayWOTDPlayed(Integer.parseInt(r[0][6]));
|
||||
|
||||
int wonInTurn[] = new int[6];
|
||||
wonInTurn[0] = Integer.parseInt(r[5][0]);
|
||||
wonInTurn[1] = Integer.parseInt(r[6][0]);
|
||||
wonInTurn[2] = Integer.parseInt(r[7][0]);
|
||||
wonInTurn[3] = Integer.parseInt(r[8][0]);
|
||||
wonInTurn[4] = Integer.parseInt(r[9][0]);
|
||||
wonInTurn[5] = Integer.parseInt(r[10][0]);
|
||||
user.setWonInTurn(wonInTurn);
|
||||
|
||||
user.setLastDayWOTDPlayed(Integer.parseInt(r[11][0]));
|
||||
for (int i = 0; i < 6; i++) {
|
||||
try {
|
||||
user.setWonInTurnIndex(Integer.parseInt(r[0][8 + i]), i);
|
||||
} catch (NumberFormatException e) {
|
||||
user.setWonInTurnIndex(0, i);
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
try {
|
||||
user.setWonInTurnIndex(Integer.parseInt(r[0][8 + i]), i);
|
||||
} catch (NumberFormatException e) {
|
||||
user.getGame().setGuessesIndex(r[0][15 + i], i);
|
||||
}
|
||||
}
|
||||
user.getGame().setWord(r[0][20]);
|
||||
} else {
|
||||
System.out.println("Fehler beim Abfragen der Daten für den User " + user.getUsername());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -38,16 +54,22 @@ public class Query {
|
|||
* @param user
|
||||
*/
|
||||
public void pushStats(User user) {
|
||||
// TODO: Testen und vllt korrigieren
|
||||
db.executeStatement("UPDATE INTO Stats (current_streak," + " max_streak, " + "wins, " + "times_played, "
|
||||
+ "won_on_1, " + "won_on_2, " + "won_on_3, " + "won_on_4, " + "won_on_5, " + "won_on_6, "
|
||||
+ "last_day_WOTD_finished) " + "VALUES (" + Integer.toString(user.getCurrentStreak())
|
||||
+ Integer.toString(user.getMaxStreak()) + Integer.toString(user.getWins())
|
||||
+ Integer.toString(user.getTimesPlayed()) + Integer.toString(user.getWonInTurnIndex(0))
|
||||
+ Integer.toString(user.getWonInTurnIndex(1)) + Integer.toString(user.getWonInTurnIndex(2))
|
||||
+ Integer.toString(user.getWonInTurnIndex(3)) + Integer.toString(user.getWonInTurnIndex(4))
|
||||
+ Integer.toString(user.getWonInTurnIndex(5)) + Integer.toString(user.getLastDayWOTDPlayed()) + ")"
|
||||
+ "WHERE user_username LIKE \"" + user.getUsername() + "\"");
|
||||
db.executeStatement("UPDATE Stats SET current_streak = " + user.getCurrentStreak() + ", max_streak = "
|
||||
+ user.getMaxStreak() + ", win_percentage = " + user.getWinPercentage() + ", times_played = "
|
||||
+ user.getTimesPlayed() + ", last_day_WOTD_finished = " + user.getLastDayWOTDPlayed()
|
||||
+ " WHERE user_username LIKE '" + user.getUsername() + "'");
|
||||
db.executeStatement("UPDATE won_on_n SET won_on_1 = " + user.getWonInTurnIndex(0) + ", won_on_2 = "
|
||||
+ user.getWonInTurnIndex(1) + ", won_on_3 = " + user.getWonInTurnIndex(2) + ", won_on_4 = "
|
||||
+ user.getWonInTurnIndex(3) + ", won_on_5 = " + user.getWonInTurnIndex(4) + ", won_on_6 = "
|
||||
+ user.getWonInTurnIndex(5)
|
||||
+ " WHERE Stats_ID IN( SELECT user_username FROM Stats WHERE user_username LIKE '" + user.getUsername()
|
||||
+ "')");
|
||||
db.executeStatement("UPDATE last_Game SET last_guess_1 = " + user.getGame().getGuessIndex(0) + ", last_guess_2 = "
|
||||
+ user.getGame().getGuessIndex(1) + ", last_guess_3 = " + user.getGame().getGuessIndex(2)
|
||||
+ ", last_guess_4 = " + user.getGame().getGuessIndex(3) + ", last_guess_5 = "
|
||||
+ user.getGame().getGuessIndex(4) + ", word = " + user.getGame().getWord()
|
||||
+ " WHERE Stats_ID IN( SELECT user_username FROM Stats WHERE user_username LIKE '" + user.getUsername()
|
||||
+ "')");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -63,7 +85,6 @@ public class Query {
|
|||
db.executeStatement("SELECT 1 FROM user WHERE username LIKE \"" + username + "\" " + "AND passwort LIKE \""
|
||||
+ password + "\"");
|
||||
QueryResult r = db.getCurrentQueryResult();
|
||||
System.out.println(db.getErrorMessage());
|
||||
if (r != null && r.getRowCount() == 1) {
|
||||
return true;
|
||||
} else {
|
||||
|
@ -77,19 +98,27 @@ public class Query {
|
|||
* @return Ein Word als String
|
||||
*/
|
||||
public String getWord() {
|
||||
// TODO: Methode fertigstellen
|
||||
return "12345";
|
||||
db.executeStatement("SELECT word FROM words ORDER BY random() LIMIT 1");
|
||||
String[][] s = db.getCurrentQueryResult().getData();
|
||||
return s[0][0];
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt das Wordle des Tages, welches aus der Datenbank stammt, zur<EFBFBD>ck. Ergibt
|
||||
* pro Tag immer das gleiche Wordle.
|
||||
* pro Tag immer das gleiche Wordle, aber trotzdem für jeden neuen Tag ein anderes Wort
|
||||
*
|
||||
* @return Das Wort als String
|
||||
*/
|
||||
public String getWOTD() {
|
||||
// TODO: Methode fertigstellen
|
||||
return "abcde";
|
||||
db.executeStatement("SELECT COUNT(*) FROM words");
|
||||
String [][] r = db.getCurrentQueryResult().getData();
|
||||
int words = Integer.parseInt(r[0][0]);
|
||||
Random random = new Random();
|
||||
random.setSeed((int) ChronoUnit.DAYS.between(LocalDate.ofEpochDay(0), LocalDate.now()));
|
||||
int randNumber = random.nextInt() % words;
|
||||
db.executeStatement("SELECT word FROM words WHERE ID LIKE '" + randNumber + "'");
|
||||
r = db.getCurrentQueryResult().getData();
|
||||
return r[0][0];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -99,7 +128,8 @@ public class Query {
|
|||
* @return Boolean
|
||||
*/
|
||||
public boolean checkWord(String word) {
|
||||
// TODO: Methode fertigstellen
|
||||
return true;
|
||||
db.executeStatement("SELECT 1 FROM words WHERE word LIKE '" + word + "'");
|
||||
String[][] r = db.getCurrentQueryResult().getData();
|
||||
return r.length != 0;
|
||||
}
|
||||
}
|
||||
|
|
34
User.java
34
User.java
|
@ -6,18 +6,18 @@ public class User {
|
|||
private String username;
|
||||
private String password;
|
||||
private int timesPlayed;
|
||||
private int winPercentage;
|
||||
private float winPercentage;
|
||||
private int currentStreak;
|
||||
private int maxStreak;
|
||||
private int lastDayWOTDPlayed;
|
||||
private int state;
|
||||
private int wins;
|
||||
private int[] wonInTurn;
|
||||
private Game game;
|
||||
|
||||
public User(String pConnectionID) {
|
||||
connectionID = pConnectionID;
|
||||
game = new Game();
|
||||
wonInTurn = new int[6];
|
||||
}
|
||||
|
||||
public Game getGame() {
|
||||
|
@ -48,11 +48,7 @@ public class User {
|
|||
return state;
|
||||
}
|
||||
|
||||
public void setWins(int wins) {
|
||||
this.wins = wins;
|
||||
}
|
||||
|
||||
public int getWinPercentage() {
|
||||
public float getWinPercentage() {
|
||||
return winPercentage;
|
||||
}
|
||||
|
||||
|
@ -72,10 +68,6 @@ public class User {
|
|||
return username;
|
||||
}
|
||||
|
||||
public int getWins() {
|
||||
return wins;
|
||||
}
|
||||
|
||||
public void setConnectionID(String connectionID) {
|
||||
this.connectionID = connectionID;
|
||||
}
|
||||
|
@ -108,29 +100,29 @@ public class User {
|
|||
this.username = username;
|
||||
}
|
||||
|
||||
public void setWinPercentage(int winPercentage) {
|
||||
public void setWinPercentage(float winPercentage) {
|
||||
this.winPercentage = winPercentage;
|
||||
}
|
||||
|
||||
public void setWonInTurnIndex(int index, int content) {
|
||||
this.wonInTurn[index] = content;
|
||||
public void setWonInTurnIndex(int content, int index) {
|
||||
wonInTurn[index] = content;
|
||||
}
|
||||
|
||||
public void setWonInTurn(int[] wonInTurn) {
|
||||
this.wonInTurn = wonInTurn;
|
||||
public void increaseWonInTurnIndex(int index) {
|
||||
wonInTurn[index]++;
|
||||
}
|
||||
|
||||
public boolean loggedIn() {
|
||||
return password != null && username != null;
|
||||
if (password != null && username != null) {
|
||||
return (!password.equals("") && !username.equals(""));
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public String[] getLastGuesses() {
|
||||
return game.getGuesses();
|
||||
}
|
||||
|
||||
public void setLastGuesses(String[] guesses) {
|
||||
game.setGuesses(guesses);
|
||||
}
|
||||
|
||||
public void setLastDayWOTDPlayed(int time) {
|
||||
lastDayWOTDPlayed = time;
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.HashMap;
|
||||
|
@ -63,11 +62,11 @@ public class WordleServer extends Server {
|
|||
switch (u.getState()) {
|
||||
case 1:
|
||||
// Anmeldephase
|
||||
if (m.equalsIgnoreCase("USER")) {
|
||||
if (m.equalsIgnoreCase("USER") && !u.loggedIn()) {
|
||||
m = pMessage.substring(5, pMessage.length());
|
||||
u.setUsername(m);
|
||||
send(pClientIP, pClientPort, "+OK");
|
||||
} else if (m.equalsIgnoreCase("PASS")) {
|
||||
} else if (m.equalsIgnoreCase("PASS") && !u.loggedIn()) {
|
||||
m = pMessage.substring(5, pMessage.length());
|
||||
u.setPassword(m);
|
||||
if (u.getPassword() != null && u.getUsername() != null) {
|
||||
|
@ -93,6 +92,14 @@ public class WordleServer extends Server {
|
|||
} else {
|
||||
send(pClientIP, pClientPort, "-ERR game finished");
|
||||
}
|
||||
} else if (m.equalsIgnoreCase("PLAY")) {
|
||||
if (isToday(u.getLastDayWOTDPlayed()) && u.getGame().getGameStatus() != 1) {
|
||||
u.getGame().startGame(query.getWord());
|
||||
u.setState(2);
|
||||
send(pClientIP, pClientPort, "+OK Game ready");
|
||||
} else {
|
||||
send(pClientIP, pClientPort, "-ERR wotd not finished");
|
||||
}
|
||||
} else {
|
||||
send(pClientIP, pClientPort, "-ERR Command not valid in this state");
|
||||
}
|
||||
|
@ -110,12 +117,15 @@ public class WordleServer extends Server {
|
|||
break;
|
||||
case (2):
|
||||
a += " game won";
|
||||
u.increaseWonInTurnIndex(u.getGame().getGuessesCount() - 1);
|
||||
u.setState(3);
|
||||
break;
|
||||
case (3):
|
||||
a += " game lost";
|
||||
u.setState(3);
|
||||
break;
|
||||
default:
|
||||
a += " what";
|
||||
}
|
||||
send(pClientIP, pClientPort, a);
|
||||
} else {
|
||||
|
@ -125,27 +135,35 @@ public class WordleServer extends Server {
|
|||
send(pClientIP, pClientPort, "-ERR wrong format");
|
||||
}
|
||||
} else if (m.equalsIgnoreCase("INFO")) {
|
||||
bruh();
|
||||
String substring = "0";
|
||||
if (m.length() > 4) {
|
||||
substring += pMessage.substring(5, pMessage.length()).replaceAll(" ", "");
|
||||
if (pMessage.length() > 4) {
|
||||
substring += pMessage.substring(4, pMessage.length()).replaceAll(" ", "");
|
||||
}
|
||||
int n = Integer.parseInt("0" + substring);
|
||||
String[] guesses = u.getGame().getGuesses();
|
||||
if (6 >= n && n >= 1) {
|
||||
String guess = guesses[n];
|
||||
send(pClientIP, pClientPort, "+OK " + guess + " " + u.getGame().checkGuess(guess));
|
||||
//TODO:
|
||||
if (guesses[n - 1] != null) {
|
||||
String guess = guesses[n - 1];
|
||||
send(pClientIP, pClientPort, "+OK " + guess + " " + u.getGame().checkGuess(guess));
|
||||
} else {
|
||||
send(pClientIP, pClientPort, "-ERR word not typed yet");
|
||||
}
|
||||
} else if (n == 0) {
|
||||
String a = "+OK ";
|
||||
for (int i = 0; i < 6; i++) {
|
||||
if (guesses[i] == null) {
|
||||
a += guesses[i] + " " + u.getGame().checkGuess(guesses[i]);
|
||||
for (int i = 0; i < 5; i++) {
|
||||
if (guesses[i] != null) {
|
||||
a += " " + guesses[i] + " " + u.getGame().checkGuess(guesses[i]);
|
||||
}
|
||||
}
|
||||
send(pClientIP, pClientPort, a);
|
||||
}
|
||||
} else if (m.equalsIgnoreCase("EXIT")) {
|
||||
u.updateLastDayWOTDPlayed();
|
||||
u.getGame().stopGame();
|
||||
u.setState(3);
|
||||
send(pClientIP, pClientPort, "+OK");
|
||||
} else {
|
||||
send(pClientIP, pClientPort, "-ERR Command not valid in this state");
|
||||
}
|
||||
|
@ -154,13 +172,13 @@ public class WordleServer extends Server {
|
|||
// 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' + ".");
|
||||
"+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(0) + "\n" + "won in 2 turn: " + u.getWonInTurnIndex(1) + "\n"
|
||||
+ "won in 3 turn: " + u.getWonInTurnIndex(2) + "\n" + "won in 4 turn: "
|
||||
+ u.getWonInTurnIndex(3) + "\n" + "won in 5 turn: " + u.getWonInTurnIndex(4) + "\n"
|
||||
+ "won in 6 turn: " + u.getWonInTurnIndex(5) + "\n" + ".");
|
||||
} else if (m.equalsIgnoreCase("PLAY")) {
|
||||
if (isToday(u.getLastDayWOTDPlayed()) && u.getGame().getGameStatus() != 1) {
|
||||
u.getGame().startGame(query.getWord());
|
||||
|
@ -178,7 +196,18 @@ public class WordleServer extends Server {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt zurück ob es sich bei dem im Parameter angegebenen Tag um den heutigen
|
||||
* handelt
|
||||
*
|
||||
* @param pDay ,die Anzahl der Tage seit dem Epoch-Day
|
||||
* @return true oder false
|
||||
*/
|
||||
public boolean isToday(int pDay) {
|
||||
return pDay == (int) ChronoUnit.DAYS.between(LocalDate.ofEpochDay(0), LocalDate.now());
|
||||
}
|
||||
|
||||
public void bruh() {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue