Viel hinzugefügt

-Datenbank-Tabellen hinzugefügt (zum letzten Wordle-game und won_on_turn_n Tabelle)
-Ifception fortgesetzt, das geben eines guesses funktioniert nun
-give guess gefixt
This commit is contained in:
2022-03-23 21:01:11 +01:00
parent 81e54b9d39
commit 2c14b051df
5 changed files with 242 additions and 173 deletions

View File

@@ -1,13 +1,15 @@
public class Game {
private String word;
private String[] guesses;
private boolean won;
// 0 wenn es keinen Wert gibt, 1 wenn das letzte Spiel gewonnen wurde und 2 wenn
// es verloren wurde
private int won;
// TODO:
Game() {
word = "";
won = false;
guesses = new String[5];
won = 0;
guesses = new String[4];
}
/**
@@ -20,18 +22,18 @@ public class Game {
* @param guess ,der String mit dem Wort
* @return Eine Zahlenfolge mit der Korrektheit des Worts
*/
public String giveGuess(String guess) {
StringBuilder g = new StringBuilder(guess);
public String giveGuess(String g) {
StringBuilder guess = new StringBuilder(g);
StringBuilder word = new StringBuilder(this.word);
String s = "";
for (int i = 0; i < word.length(); i++) {
if (g.charAt(0) == word.charAt(0)) {
for (int i = 0; i < this.word.length(); i++) {
if (guess.charAt(0) == word.charAt(0)) {
word.deleteCharAt(0);
s += "2";
} else {
boolean found = false;
for (int r = 1; r < word.length(); r++) {
if (g.charAt(0) == word.charAt(r)) {
if (guess.charAt(0) == word.charAt(r)) {
s += "1";
found = true;
word.deleteCharAt(r);
@@ -42,17 +44,22 @@ public class Game {
s += "0";
}
}
g.deleteCharAt(0);
guess.deleteCharAt(0);
}
if(storeInArray(g.toString())) {
if (word.isEmpty()) {
System.out.println("öasdlkihg");
won = 1;
stopGame();
} else if (storeInArray(guess.toString())) {
won = 2;
stopGame();
won = !word.isEmpty();
}
return s;
}
/**
* Speichert das Wort in der nächsten freien Stelle im Array und gibt danach zurück, ob das Array voll ist
* Speichert das Wort in der nächsten freien Stelle im Array und gibt danach
* zurück, ob das Array voll ist
*
* @param word
* @return Boolean
@@ -61,7 +68,7 @@ public class Game {
for (int i = 0; i < guesses.length; i++) {
if (guesses[i] == null) {
guesses[i] = word;
return i == guesses.length - 1;
return false;
}
}
return true;
@@ -74,12 +81,40 @@ public class Game {
public boolean isGameRunning() {
return !word.equals("") || !word.equals(null);
}
public boolean won() {
return won;
}
private void stopGame() {
word = "";
guesses = new String[guesses.length - 1];
}
public String[] getGuesses() {
return guesses;
}
public void setGuesses(String[] guesses) {
this.guesses = guesses;
}
public void setWord(String word) {
this.word = word;
}
/**
* Gibt 0 zurück wenn das Spiel nicht läuft und noch kein Spiel gespielt wurde
* seitdem das Objekt existiert. Gibt 1 zurück wenn das Spiel läuft. Gibt 2
* zurück wenn das letzte beendete Spiel gewonnen wurde und kein Spiel läuft.
* Gibt 3 zurück wenn das letzte beendete Spiel verloren wurde und kein Spiel
* läuft.
*
* @return Eine Zahl von 0 bis 3
*/
public int getGameStatus() {
if (word.equals("") && won == 0) {
return 0;
}
if (!word.equals("")) {
return 1;
}
return won + 1;
}
}