Dans le cas d'un projet de 2nde nous devons réaliser un jeu de société.
Nous avons décidé d’abandonner les pions pour des del qui s'allumes à l'emplacement de l'équipe.
Le plateau de jeu communique avec une application sur app inventor en bluetooth avec un hc-06.
Le problème étant que lorsque je lis la commande et la compare, même en ayant la même commande en comparaison, la comparaison ne retourne pas true.
J'ai essayé plusieurs solution:
- remplacer les doubles guillemets par un simple guillemet, cela a fonctionné mais ne fonctionne actuellement plus d'après une erreur de syntaxe qui me parait évidente.
- utiliser la méthode .equals(), rien ne fonctionnait.
- couper les espaces, cela ne fonctionnait pas non plus.
La commande s'affiche bien dans le terminal.
Voici les fonction concernés:
Fonction de test:
void testCommand(String Command)
{
delay(50);
if (Command[0] == '/') {
String settings[4];
int j = 0;
// split command
for (int i = 0; i <= Command.length(); ++i) {
if (' ' == Command[i]) {
j++;
} else {
settings[j] += Command[i];
}
}
Serial.println(settings[0]);
//Test all commmands
String cmd = settings[0];
if (cmd == "/start")
{
Serial.println("LOL");
StartGame();
}
else if (settings[0] == "/win")
{
if (settings[1] == "1") {
OnAllLed(1);
}
else if (settings[1] == "2") {
OnAllLed(2);
}
}
else if (settings[0] == "/question")
{
Question();
}
else if (settings[0] == "/position")
{
_ScoreBleus = settings[1].toInt();
_ScoreRouges = settings[2].toInt();
AfficheScore(_ScoreBleus, _ScoreRouges);
}
}
}
Fonction qui lit la commande!
String testReceiveCommand()
{
String _command = "";
while (bluetooth.available() > 0)
{
if (bluetooth.available() > 0)
{
char c = bluetooth.read();
_command += c;
}
}
return _command;
}
Merci pour votre aide,
Cordialement,
- Edité par SuperChocolatine 27 mai 2019 à 17:31:18
TESTER VARIABLESS STRING
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.