Problème:faire référence à un aray

comment corriger le code. Je voudrais via Serial.read lire les bonnes lettres du mot en array. L'affichage en void setup() fonctionne correctement. Par contre, je voudrais comparer les valeurs du serial.read avec la valeur du mot et afficher seulement les lettres choisies correctement. Je ne peux que faire référence à la première lettre avec la boucle for. Je ne comprends pas comment passer de la valeur 0 (g) à la valeur 1 (r) ... et la faire afficher. Il s'agit d'une ébauche pour un problème qui deviendra plus complexe.

Merci pour votre aide

char secretWord[] = "graal";
int guessLetter;


void setup() {
   Serial.begin(9600);
   Serial.println(secretWord);
   for (int i = 0; i<5; i++) {
    Serial.println(secretWord[i]);
   }
   
}

void loop() {
    
    if (Serial.available() > 0) {
      for (int x = 0; x<5; x++){
  
      guessLetter = Serial.read();
        if (secretWord[x] == guessLetter) {

          Serial.print("Lettre:");
          Serial.write (guessLetter);
          delay(60);
          
        }
        else
        Serial.println("erreur    ");
   }
   }
}

Bonjour,

Je ne comprend pas: dans ta boucle for tu fais référence à toutes les lettres de secretWord car tu l'as indexé avec x.

vous ne lisez pas correctement le port série. Dans ce code:

 if (Serial.available() > 0) {
      for (int x = 0; x<5; x++){
  
      guessLetter = Serial.read();
        if (secretWord[x] == guessLetter) {

vous testez s'il y a un caractère dispo mais ensuite vous essayez d'en lire 5 sans vous poser la question de savoir s'il y en a bien 5

Si vous voulez étudier comment bien écouter le port série (ou gérer un flux asynchrone genre keypad) vous pouvez jeter un oeil à mon petit tuto sur le sujet

kamill:
Bonjour,

Je ne comprend pas: dans ta boucle for tu fais référence à toutes les lettres de secretWord car tu l'as indexé avec x.

Oui, je veux faire référence aux lettres les unes après les autres correctement et dans le bon ordre sinon on recommence au début. Je ne suis pas certain d'être sur la bonne voie.

Quand vous aurez bien pigé pour le port Série, il vous faudra peut-être aussi une machine à états (cf mon autre tuto éventuellement)