forked from IF-LK-2020/wordle
-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
97 lines
2.9 KiB
Java
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;
|
|
}
|
|
}
|