added guest class

This commit is contained in:
Alperen
2022-02-20 17:44:44 +01:00
parent c3e91b9ae4
commit 08f6a3f68a
5 changed files with 325 additions and 178 deletions

View File

@@ -1,138 +1,148 @@
/**
* Beschreiben Sie hier die Klasse User.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class User
public class User extends Guest
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
private String name;
private String password;
private int timesPlayed;
private float winPercentage;
private int currentStreak;
private int maxStreak;
private int[] wonInTurn;
/**
* Konstruktor für Objekte der Klasse User
*/
public User()
{
// Instanzvariable initialisieren
}
static DatabaseConnector databaseConnector;// Datenbankverbindung aufstellen
private String name = "default";
/**
* Ein Beispiel einer Methode - ersetzen Sie diesen Kommentar mit Ihrem eigenen
*
* @param y ein Beispielparameter für eine Methode
* @return die Summe aus x und y
* Konstruktor für Objekte der Klasse User
*/
public void setPassword(String password)
public User(String name)
{
// tragen Sie hier den Code ein
this.password = password;
databaseConnector = new DatabaseConnector("", 0, "wordle.db", "", "");
setName(name);
}
@Override
public void setPassword(String password)
{
databaseConnector.executeStatement("UPDATE User SET password = " + password + " Where name = " + this.name);
}
@Override
public String getPassword()
{
return password;
databaseConnector.executeStatement("SELECT password FROM User Where name =" + this.name);
String result = databaseConnector.getCurrentQueryResult().getData()[0][0];
return result;
}
@Override
public void setName(String name)
{
// tragen Sie hier den Code ein
this.name = name;
databaseConnector.executeStatement("UPDATE User SET name = " + name + " Where name = " + this.name);
}
@Override
public String getName()
{
return name;
return name;
}
public void setTimesPlayed(int timesPlayed)
@Override
public void setWinPercentage(float winPercentage)
{
// tragen Sie hier den Code ein
this.timesPlayed = timesPlayed;
}
public int getTimesPlayed()
{
return timesPlayed;
}
public void increaseTimesPlayed()
{
timesPlayed = timesPlayed + 1;
}
public void setwinPercentage(float winPercentage)
{
// tragen Sie hier den Code ein
this.winPercentage = winPercentage;
databaseConnector.executeStatement("UPDATE User SET winPercentage = " + winPercentage + " Where name = " + this.name);
}
@Override
public float getWinPercentage()
{
return winPercentage;
databaseConnector.executeStatement("SELECT winPercentage FROM User Where name =" + this.name);
String result = databaseConnector.getCurrentQueryResult().getData()[0][0];
return Float.parseFloat(result);
}
@Override
public void setTimesPlayed(int timesPlayed)
{
databaseConnector.executeStatement("UPDATE User SET timesPlayed = " + timesPlayed + " Where name = " + this.name);
}
@Override
public int getTimesPlayed()
{
databaseConnector.executeStatement("SELECT timesPlayed FROM User Where name =" + this.name);
String result = databaseConnector.getCurrentQueryResult().getData()[0][0];
return Integer.parseInt(result);
}
public void calculateWinPercentage()
@Override
public void increaseTimesPlayed()
{
int sum = 0;
for(int i = 0;i < wonInTurn.length;i++)
{
sum += wonInTurn[i];
}
winPercentage = sum / timesPlayed;
}
public void setCurrentStreak(int currentStreak)
{
// tragen Sie hier den Code ein
this.currentStreak = currentStreak;
}
public int getCurrentStreak()
{
return currentStreak;
}
public void increaseCurrentStreak()
{
currentStreak = currentStreak + 1;
}
public void setMaxStreak(int maxStreak)
{
this.maxStreak = maxStreak;
}
public int getMaxStreak()
{
return maxStreak;
}
public void increaseMaxStreak()
{
maxStreak = maxStreak + 1;
}
public void setWonInTurn(int[] wonInTurn)
{
this.wonInTurn = wonInTurn;
int temp = getTimesPlayed();
temp++;
setTimesPlayed(temp);
}
public int getWonInTurn(int turn)
@Override
public void setCurrentStreak(int currentStreak)
{
int temp = wonInTurn[turn];
return temp;
databaseConnector.executeStatement("UPDATE User SET currentStreak = " + currentStreak + " Where name = " + this.name);
}
@Override
public int getCurrentStreak()
{
databaseConnector.executeStatement("SELECT currentStreak FROM User Where name =" + this.name);
String result = databaseConnector.getCurrentQueryResult().getData()[0][0];
return Integer.parseInt(result);
}
@Override
public void increaseCurrentStreak()
{
int temp = getCurrentStreak();
temp++;
setCurrentStreak(temp);
}
@Override
public void setMaxStreak(int maxStreak)
{
databaseConnector.executeStatement("UPDATE User SET maxStreak = " + maxStreak + " Where name = " + this.name);
}
@Override
public int getMaxStreak()
{
databaseConnector.executeStatement("SELECT maxStreak FROM User Where name =" + this.name);
String result = databaseConnector.getCurrentQueryResult().getData()[0][0];
return Integer.parseInt(result);
}
@Override
public void increaseMaxStreak()
{
int temp = getMaxStreak();
temp++;
setMaxStreak(temp);
}
@Override
public void setWonInTurn(int row, int value)
{
databaseConnector.executeStatement("UPDATE User SET wonInTurn" + row + " = " + value + " Where name = " + this.name);
}
@Override
public int getWonInTurn(int row)
{
databaseConnector.executeStatement("SELECT wonInTurn" + row + " FROM User Where name =" + this.name);
String result = databaseConnector.getCurrentQueryResult().getData()[0][0];
return Integer.parseInt(result);
}
public void increaseWonInTurn()
public int[] getWonInTurnFull()
{
int[] result = {getWonInTurn(1),getWonInTurn(2),getWonInTurn(3),getWonInTurn(4),getWonInTurn(5),getWonInTurn(6)};
return result;
}
}
}