forked from IF-LK-2020/wordle
Ein paar TODOs für die Organisation eingefügt und an der Klasse Game gearbeitet, hauptsächlich an der Methode giveGuess()
90 lines
2.8 KiB
Java
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;
|
|
}
|
|
}
|