forked from IF-LK-2020/wordle
TODOs und Game
Ein paar TODOs für die Organisation eingefügt und an der Klasse Game gearbeitet, hauptsächlich an der Methode giveGuess()
This commit is contained in:
86
Game.java
86
Game.java
@@ -1,25 +1,81 @@
|
||||
public class Game {
|
||||
String randomWord;
|
||||
String[] guesses;
|
||||
//TODO:
|
||||
Game() {
|
||||
private String word;
|
||||
private String[] guesses;
|
||||
|
||||
}
|
||||
// TODO:
|
||||
Game() {
|
||||
word = "";
|
||||
}
|
||||
|
||||
public void startGame() {
|
||||
public void startGame() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void startWOTD() {
|
||||
/**
|
||||
* 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 boolean isGameRunning() {
|
||||
return randomWord.equals("")||randomWord.equals(null);
|
||||
}
|
||||
public void startWOTD(String wotd) {
|
||||
word = wotd;
|
||||
}
|
||||
|
||||
private void stopGame() {
|
||||
public boolean isGameRunning() {
|
||||
return word.equals("") || word.equals(null);
|
||||
}
|
||||
|
||||
}
|
||||
private void stopGame() {
|
||||
word = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user