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

141
src/Guest.java Normal file
View File

@@ -0,0 +1,141 @@
/**
* Beschreiben Sie hier die Klasse User.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Guest
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
private String name;
private String password;
private float winPercentage;
private int timesPlayed;
private int currentStreak;
private int maxStreak;
private int[] wonInTurn = {0,0,0,0,0,0};
/**
* Konstruktor für Objekte der Klasse User
*/
public Guest()
{
// Instanzvariable initialisieren
}
public void setPassword(String password)
{
// tragen Sie hier den Code ein
this.password = password;
}
public String getPassword()
{
return password;
}
public void setName(String name)
{
// tragen Sie hier den Code ein
this.name = name;
}
public String getName()
{
return name;
}
public void setWinPercentage(float winPercentage)
{
// tragen Sie hier den Code ein
this.winPercentage = winPercentage;
}
public float getWinPercentage()
{
int sum = 0;
for(int i = 0;i < wonInTurn.length;i++)
{
sum += wonInTurn[i];
}
winPercentage = sum / timesPlayed;
return winPercentage;
}
public void setTimesPlayed(int timesPlayed)
{
// tragen Sie hier den Code ein
this.timesPlayed = timesPlayed;
}
public int getTimesPlayed()
{
return timesPlayed;
}
public void increaseTimesPlayed()
{
timesPlayed = timesPlayed + 1;
}
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 row, int value)
{
this.wonInTurn[row] = value;
}
public int getWonInTurn(int row)
{
int temp = wonInTurn[row];
return temp;
}
public void increaseWonInTurn(int row)
{
int temp = getWonInTurn(row) + 1;
setWonInTurn(row, temp);
}
public int[] getWonInTurnFull()
{
return wonInTurn;
}
}

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;
static DatabaseConnector databaseConnector;// Datenbankverbindung aufstellen
private String name = "default";
/**
* Konstruktor für Objekte der Klasse User
* Konstruktor für Objekte der Klasse User
*/
public User()
public User(String name)
{
// Instanzvariable initialisieren
databaseConnector = new DatabaseConnector("", 0, "wordle.db", "", "");
setName(name);
}
/**
* 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
*/
@Override
public void setPassword(String password)
{
// tragen Sie hier den Code ein
this.password = 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;
}
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);
}
public void calculateWinPercentage()
@Override
public void setTimesPlayed(int timesPlayed)
{
int sum = 0;
for(int i = 0;i < wonInTurn.length;i++)
{
sum += wonInTurn[i];
}
winPercentage = sum / 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);
}
@Override
public void increaseTimesPlayed()
{
int temp = getTimesPlayed();
temp++;
setTimesPlayed(temp);
}
@Override
public void setCurrentStreak(int currentStreak)
{
// tragen Sie hier den Code ein
this.currentStreak = currentStreak;
databaseConnector.executeStatement("UPDATE User SET currentStreak = " + currentStreak + " Where name = " + this.name);
}
@Override
public int getCurrentStreak()
{
return currentStreak;
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()
{
currentStreak = currentStreak + 1;
int temp = getCurrentStreak();
temp++;
setCurrentStreak(temp);
}
@Override
public void setMaxStreak(int maxStreak)
{
this.maxStreak = maxStreak;
databaseConnector.executeStatement("UPDATE User SET maxStreak = " + maxStreak + " Where name = " + this.name);
}
@Override
public int getMaxStreak()
{
return maxStreak;
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()
{
maxStreak = maxStreak + 1;
int temp = getMaxStreak();
temp++;
setMaxStreak(temp);
}
public void setWonInTurn(int[] wonInTurn)
@Override
public void setWonInTurn(int row, int value)
{
this.wonInTurn = wonInTurn;
databaseConnector.executeStatement("UPDATE User SET wonInTurn" + row + " = " + value + " Where name = " + this.name);
}
public int getWonInTurn(int turn)
@Override
public int getWonInTurn(int row)
{
int temp = wonInTurn[turn];
return temp;
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;
}
}

View File

@@ -2,121 +2,117 @@
dependency1.from=DatabaseConnector
dependency1.to=QueryResult
dependency1.type=UsesDependency
dependency10.from=User
dependency10.to=DatabaseConnector
dependency10.type=UsesDependency
dependency2.from=DatabaseConnector
dependency2.to=Queue
dependency2.type=UsesDependency
dependency3.from=Server
dependency3.to=List
dependency3.type=UsesDependency
dependency4.from=WordleServer
dependency4.to=List
dependency4.from=Game
dependency4.to=WordleServer
dependency4.type=UsesDependency
dependency5.from=WordleServer
dependency5.to=Game
dependency5.from=Game
dependency5.to=User
dependency5.type=UsesDependency
dependency6.from=WordleServer
dependency6.from=Game
dependency6.to=DatabaseConnector
dependency6.type=UsesDependency
dependency7.from=Game
dependency7.to=WordleServer
dependency7.from=WordleServer
dependency7.to=List
dependency7.type=UsesDependency
dependency8.from=Game
dependency8.to=User
dependency8.from=WordleServer
dependency8.to=Game
dependency8.type=UsesDependency
dependency9.from=Game
dependency9.from=WordleServer
dependency9.to=DatabaseConnector
dependency9.type=UsesDependency
editor.fx.0.height=1026
editor.fx.0.width=1696
editor.fx.0.x=-8
editor.fx.0.y=-8
objectbench.height=194
objectbench.width=1656
editor.fx.0.height=739
editor.fx.0.width=816
editor.fx.0.x=552
editor.fx.0.y=100
objectbench.height=155
objectbench.width=1892
package.divider.horizontal=0.6
package.divider.vertical=0.7829373650107991
package.editor.height=718
package.editor.width=1545
package.divider.vertical=0.8305439330543933
package.editor.height=787
package.editor.width=1781
package.editor.x=0
package.editor.y=0
package.frame.height=1026
package.frame.width=1696
package.numDependencies=9
package.numTargets=10
package.frame.height=1056
package.frame.width=1932
package.numDependencies=10
package.numTargets=9
package.showExtends=true
package.showUses=true
project.charset=windows-1252
readme.height=60
readme.height=58
readme.name=@README
readme.width=49
readme.width=47
readme.x=10
readme.y=10
target1.height=70
target1.name=Letter
target1.name=DatabaseConnector
target1.showInterface=false
target1.type=ClassTarget
target1.width=120
target1.x=70
target1.y=10
target10.height=70
target10.name=Queue
target10.showInterface=false
target10.type=ClassTarget
target10.width=160
target10.x=330
target10.y=530
target2.height=70
target2.name=DatabaseConnector
target1.width=150
target1.x=180
target1.y=70
target2.height=60
target2.name=QueryResult
target2.showInterface=false
target2.type=ClassTarget
target2.width=150
target2.x=80
target2.y=180
target3.height=70
target3.name=QueryResult
target2.width=100
target2.x=100
target2.y=600
target3.height=100
target3.name=Game
target3.showInterface=false
target3.type=ClassTarget
target3.width=120
target3.x=730
target3.y=180
target3.width=180
target3.x=630
target3.y=340
target4.height=70
target4.name=Game
target4.name=User
target4.showInterface=false
target4.type=ClassTarget
target4.width=120
target4.x=300
target4.y=380
target4.width=130
target4.x=900
target4.y=180
target5.height=70
target5.name=User
target5.name=Server
target5.showInterface=false
target5.type=ClassTarget
target5.width=120
target5.x=1000
target5.y=180
target5.type=AbstractTarget
target5.width=110
target5.x=310
target5.y=500
target6.height=70
target6.name=Server
target6.name=WordleServer
target6.showInterface=false
target6.type=AbstractTarget
target6.width=120
target6.x=490
target6.y=280
target6.type=ClassTarget
target6.width=110
target6.x=480
target6.y=500
target7.height=70
target7.name=WordleServer
target7.name=Guest
target7.showInterface=false
target7.type=ClassTarget
target7.width=120
target7.x=720
target7.y=480
target8.height=70
target7.width=130
target7.x=900
target7.y=310
target8.height=60
target8.name=List
target8.showInterface=false
target8.type=ClassTarget
target8.width=150
target8.x=980
target8.y=380
target9.height=70
target9.name=GUI
target8.x=560
target8.y=640
target9.height=60
target9.name=Queue
target9.showInterface=false
target9.type=ClassTarget
target9.width=120
target9.x=200
target9.y=10
target9.width=160
target9.x=100
target9.y=520

BIN
wordle.db

Binary file not shown.