public class Game { private String word; private String[] guesses; // TODO: Game() { word = ""; } public void startGame() { } /** * Vergleicht den übergebenen Guess mit dem im Spiel gespeicherten Wort und * überprüft die Korrektheit des Parameter-Strings und gibt eine Zeichenfolge * aus der Korrektheit der Buchstaben zurück (z.B. 10020). Speichert außerdem * den Guess in dem Array guesses[].Gibt keine Information darüber ob das Wort * in der Datenbank existiert oder ob es die korrekte Länge hat. * * @param guess ,der String mit dem Wort * @return Eine Zahlenfolge mit der Korrektheit des Worts */ public String giveGuess(String guess) { String g = guess; StringBuilder word = new StringBuilder(this.word); String s = ""; for (int i = 0; i < word.length(); i++) { if (guess.charAt(0) == word.charAt(0)) { word.deleteCharAt(0); s += "2"; } else { boolean found = false; for (int r = 0; r < word.length(); r++) { if (r != i && guess.charAt(0) == word.charAt(r)) { s += "1"; found = true; word.deleteCharAt(r); break; } } if (!found) { s += "0"; } } guess.replaceFirst(guess, ""); } if(storeInArray(g)) { stopGame(); } return s; } /** * 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 */ private boolean storeInArray(String word) { for (int i = 0; i < guesses.length; i++) { if (guesses[i] == null) { guesses[i] = word; return i == guesses.length - 1; } } return true; } public void startWOTD(String wotd) { word = wotd; } public boolean isGameRunning() { return word.equals("") || word.equals(null); } private void stopGame() { word = ""; } }