Files
wordle/Query.java
maxlm128 02d6252537 TODOs und Game
Ein paar TODOs für die Organisation eingefügt und an der Klasse Game gearbeitet, hauptsächlich an der Methode giveGuess()
2022-03-18 19:09:19 +01:00

90 lines
2.8 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.setLastDayWOTDFinished(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)
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.getLastDayWOTDFinished())
+ ")");
}
/**
* Ü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 false;
}
/**
* Gibt ein Zufälliges Wort aus der Datenbank zurück
* @return Ein Word als String
*/
public String getWord() {
// TODO: Methode fertigstellen
return "";
}
/**
* 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 "";
}
/**
* 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;
}
}