Files
wordle/Query.java
maxlm128 2c14b051df Viel hinzugefügt
-Datenbank-Tabellen hinzugefügt (zum letzten Wordle-game und won_on_turn_n Tabelle)
-Ifception fortgesetzt, das geben eines guesses funktioniert nun
-give guess gefixt
2022-03-23 21:01:11 +01:00

97 lines
2.9 KiB
Java

public class Query {
DatabaseConnector db;
Query() {
db = new DatabaseConnector("", 0, "wordle.db", "", "");
}
/**
* Speichert die Daten des Users aus der Datenbank auf dem User-Objekt
*
* @param user
*/
public void pullStats(User user) {
String[][] r;
db.executeStatement("SELECT * FROM user WHERE user LIKE" + 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]));
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]));
}
/**
* Pusht die Daten des Users im Parameter auf die Datenbank
*
* @param user
*/
public void pushStats(User user) {
// TODO: Methode korrigieren (Update ist nicht auf den User beschränkt) und neue Tabelle lastGuesses berücksichtigen
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()) + ")");
}
/**
* Überprüft ob es den Username und das Passwort in der Datenbank gibt und gibt
* den Erfolg als Boolean zurück
*
* @param username
* @param password
* @return Ein Boolean
*/
public boolean checkLogin(String username, String password) {
// TODO: Methode fertigstellen
return true;
}
/**
* Gibt ein Zufälliges Wort aus der Datenbank zurück
*
* @return Ein Word als String
*/
public String getWord() {
// TODO: Methode fertigstellen
return "12345";
}
/**
* Gibt das Wordle des Tages, welches aus der Datenbank stammt, zurück. Ergibt
* pro Tag immer das gleiche Wordle.
*
* @return Das Wort als String
*/
public String getWOTD() {
// TODO: Methode fertigstellen
return "abcde";
}
/**
* Prüft ob das Wort in der Datenbank vorhanden ist
*
* @param word ,ein String mit dem Wort
* @return Boolean
*/
public boolean checkWord(String word) {
// TODO: Methode fertigstellen
return true;
}
}