forked from IF-LK-2020/wordle
added guest class
This commit is contained in:
141
src/Guest.java
Normal file
141
src/Guest.java
Normal 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;
|
||||
}
|
||||
}
|
||||
220
src/User.java
220
src/User.java
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ public class WordleServer extends Server {
|
||||
super(pPort);
|
||||
|
||||
db = new DatabaseConnector("", 0, "wordle.db", "", "");
|
||||
|
||||
|
||||
games = new List<>();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user