ZU VIEL gemacht

Mein Brain ist kaputt
This commit is contained in:
2022-03-25 19:06:43 +01:00
parent 018ffd987d
commit 556ae98e3b
5 changed files with 205 additions and 129 deletions

141
Game.java
View File

@@ -1,15 +1,15 @@
public class Game {
private String word;
private String[] guesses;
private int guessCount;
// 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 = 0;
guesses = new String[4];
guesses = new String[5];
}
/**
@@ -23,106 +23,131 @@ public class Game {
* @return Eine Zahlenfolge mit der Korrektheit des Worts
*/
public String giveGuess(String g) {
StringBuilder guess = new StringBuilder(g);
StringBuilder word = new StringBuilder(this.word);
String[] guess = transformToArray(g);
String[] word = transformToArray(this.word);
String s = "";
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 (guess.charAt(0) == word.charAt(r)) {
s += "1";
found = true;
word.deleteCharAt(r);
break;
if (word.length == 5 && guess.length == 5) {
for (int i = 0; i < this.word.length(); i++) {
if (guess[i].equalsIgnoreCase(word[i])) {
word[i] = null;
s += "2";
} else {
boolean found = false;
for (int r = 0; r < word.length; r++) {
if (guess[i].equalsIgnoreCase(word[r]) && (guess[r] == null || !guess[r].equals(word[r]))) {
s += "1";
found = true;
word[r] = null;
break;
}
}
if (!found) {
s += "0";
}
}
if (!found) {
s += "0";
}
guess[i] = null;
}
guessCount++;
storeInArray(g);
if (s.contains("22222")) {
won = 1;
stopGame();
} else if (guessCount >= 6) {
won = 2;
stopGame();
}
guess.deleteCharAt(0);
}
if (word.isEmpty()) {
won = 1;
stopGame();
} else if (storeInArray(guess.toString())) {
won = 2;
stopGame();
}
return s;
}
private String[] transformToArray(String s) {
String[] temp = new String[s.length()];
for (int i = 0; i < s.length(); i++) {
temp[i] = "" + s.charAt(i);
}
return temp;
}
public String checkGuess(String g) {
StringBuilder guess = new StringBuilder(g);
StringBuilder word = new StringBuilder(this.word);
String[] guess = transformToArray(g);
String[] word = transformToArray(this.word);
String s = "";
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 (guess.charAt(0) == word.charAt(r)) {
s += "1";
found = true;
word.deleteCharAt(r);
break;
if (word.length == 5 && guess.length == 5) {
for (int i = 0; i < this.word.length(); i++) {
if (guess[i].equalsIgnoreCase(word[i])) {
word[i] = null;
s += "2";
} else {
boolean found = false;
for (int r = 0; r < word.length; r++) {
if (guess[i].equalsIgnoreCase(word[r]) && (guess[r] == null || !guess[r].equals(word[r]))) {
s += "1";
found = true;
word[r] = null;
break;
}
}
if (!found) {
s += "0";
}
}
if (!found) {
s += "0";
}
guess[i] = null;
}
guess.deleteCharAt(0);
}
return s;
}
/**
* Speichert das Wort in der nächsten freien Stelle im Array und gibt danach
* zurück, ob das Array voll ist
* zurück, ob das Array voll ist, d.h. das Spiel beendet werden muss
*
* @param word
* @return Boolean
*/
private boolean storeInArray(String word) {
private void storeInArray(String word) {
for (int i = 0; i < guesses.length; i++) {
if (guesses[i] == null) {
guesses[i] = word;
return false;
break;
}
}
return true;
}
public void startGame(String word) {
System.out.println(word);
guessCount = 0;
this.word = word;
}
public boolean isGameRunning() {
return !word.equals("") || !word.equals(null);
}
public void stopGame() {
word = "";
guesses = new String[guesses.length - 1];
guesses = new String[guesses.length];
}
public String[] getGuesses() {
return guesses;
}
public void setGuesses(String[] guesses) {
this.guesses = guesses;
public String getGuessIndex(int index) {
return guesses[index];
}
public void setGuessesIndex(String guess, int index) {
guesses[index] = guess;
}
public void setWord(String word) {
this.word = word;
if (word != null) {
this.word = word;
}
}
public String getWord() {
return word;
}
public int getGuessesCount() {
return guessCount;
}
/**