This commit is contained in:
2025-10-08 12:28:34 +02:00
parent 86537ff528
commit c14e481572
9 changed files with 40 additions and 85 deletions

View File

@@ -8,26 +8,17 @@ public class GameState {
private Set<Character> triedLetters;
private static final int MAX_ERRORS = 9;
/* Constructeur : initialise le mot à deviner */
public GameState(String wordToGuess) {
this.word = wordToGuess.toLowerCase();
this.word = wordToGuess.toLowerCase();
this.hiddenWord = new char[word.length()];
for (int i = 0; i < word.length(); i++) {
if (word.charAt(i) == ' ') {
hiddenWord[i] = ' '; // espaces visibles dans les mots difficiles
} else {
hiddenWord[i] = '_';
}
}
Arrays.fill(hiddenWord, '_');
this.triedLetters = new HashSet<>();
this.errors = 0;
}
/* Tente une lettre dans le mot */
/*Fonction pour essayer une lettre*/
public void tryLetter(char letter) {
letter = Character.toLowerCase(letter);
letter = Character.toLowerCase(letter);
triedLetters.add(letter);
boolean found = false;
@@ -43,13 +34,13 @@ public class GameState {
}
}
/* Vérifie si une lettre a déjà été essayée */
/*Fonction pour vérifier si une lettre à déjà été essayé*/
public boolean hasTriedLetter(char letter) {
letter = Character.toLowerCase(letter);
return triedLetters.contains(letter);
}
/* Vérifie si le joueur a gagné */
/*Fonction pour vérifier si on a gagné*/
public boolean isWon() {
for (char c : hiddenWord) {
if (c == '_') {
@@ -59,17 +50,17 @@ public class GameState {
return true;
}
/* Vérifie si le joueur a perdu */
/*Fonction pour vérifier si on a perdu*/
public boolean isLost() {
return errors >= MAX_ERRORS;
}
/* Retourne le nombre d'erreurs */
/*Fonction pour voir le nombre d'erreur*/
public int getErrors() {
return errors;
}
/* Retourne le mot caché avec espaces entre lettres */
/*Fonction pour voir le mot caché*/
public String getHiddenWord() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hiddenWord.length; i++) {
@@ -81,7 +72,7 @@ public class GameState {
return sb.toString();
}
/* Retourne le mot original */
/*Fonction pour voir le mot*/
public String getWord() {
return word;
}